クライアントが何か変更を必要とするたびに、いくつかの 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