はじめに
何らかの理由でIPアドレスがサーバーにアクセスするのをブロックしたい場合は、Iptablesルールを変更することでこれを行うことができます。このタスクを正常に実行するには、以下の手順に従ってください。
ステップ1:rootユーザーとしてログイン
rootユーザーとしてサーバーにログインします
ssh root@server-ip
ステップ2:新しいIptablesルールを追加する
次のルールを入力して、IPアドレスがサーバーにアクセスするのをブロックします
iptables -A INPUT -s IP-ADDRESS -j DROP
IP-ADDRESSを、完全にブロックする実際のIPアドレスに置き換えます。上記のルールは、その特定のIPからすべてのサーバーポートに送信されるすべてのパケットをドロップします。
代替オプション–特定のポートへのアクセスをブロックします
サーバーの特定のポートでのみIPアドレスからのサーバーアクセスをブロックするには、次の構文を使用する必要があります
iptables -A INPUT -s IP-ADDRESS -p tcp --destination-port port_number -j DROP
port_numberを、アクセスをブロックする実際の番号に置き換えます。
ステップ3:Iptablesルールの保存
Ubuntuの場合:
デフォルトでは、サーバーが再起動されると、Iptablesルールは消去されます。 Iptabelsルールを永続的に保存するには、いくつかの異なる方法で設定を保存できますが、最も簡単な方法は「iptables-persistent」パッケージを使用することです。これは、Ubuntuのデフォルトのリポジトリからダウンロードできます:
sudo apt-get update sudo apt-get install iptables-persistent
次のコマンドでファイアウォールルールを保存します:
sudo invoke-rc.d iptables-persistent save
CentOS / RHEL / Fedoraの場合:
次のコマンドでiptablesルールを保存します:
service iptables save
ドロップルールを取り消すには:
ルールを元に戻し、IPアドレスがサーバーにアクセスできるようにするには、次のコマンドを実行します
すべてのポートの場合:
iptables -D INPUT -s IP-ADDRESS -j DROP
特定のポートの場合:
iptables -D INPUT -s IP-ADDRESS -p tcp --destination-port port_number -j DROP
次に、前述のコマンドを使用して変更を保存します。