IPテーブルはすべてを許可しますが、HTTPは1つのIPのみに制限します。

IPテーブルはすべてを許可しますが、HTTPは1つのIPのみに制限します。

クライアントが何か変更を必要とするたびに、いくつかの Web サーバーを管理するように求められます。

私がしたいのは、テスト中は他のすべての接続を全員に開放したまま、一時的に自分自身にHTTP制限することだけです。HTTPS

彼らは管理していませんiptablesが、私は sudo アクセス権を持っています。

他にも中断したくないサービスが多数実行されています。元に戻すためのコンソール アクセスがないため、ssh セッションを切断したくありません。

これら 2 つのコマンドのみを実行すると、他のポートが動作している間、HTTPのみが制限されますか?HTTPS

iptables -I INPUT -p tcp -s 0.0.0.0/0 --match multiport --dport 80,443 -j DROP
iptables -I INPUT -p tcp -s 10.1.1.2 --match multiport --dport 80,443 -j ACCEPT

編集: ルールの順序を変更しました。

答え1

はい、 にあるものだけがiptables --list処理され、他に何もない限り、DROP ALL他のすべては許可されます。

ただし、 を使用する場合-I (Insert)、ルールの順序はDrop最初にする必要があります。つまり、ルールが最初に処理されるDROP一方で、 は最後に配置されます。ACCEPT

[root@hostname ~]# iptables -I INPUT -p tcp -s 0.0.0.0/0 --match multiport --dport 80,443 -j DROP            
[root@hostname ~]# iptables -I INPUT -p tcp -s 10.1.1.2 --match multiport --dport 80,443 -j ACCEPT

今すぐ実行iptables --list

[root@hostname ~]# iptables --list
Chain INPUT (policy ACCEPT)
target     prot    opt    source               destination
ACCEPT     tcp      --    10.1.1.2         anywhere            multiport dports http,https
DROP       tcp      --    anywhere         anywhere            multiport dports http,https

関連情報