私は Linux サーバー初心者です。現在、Ubuntu 10.10 サーバーを初めて起動して実行しようとしており、管理には Webmin を使用しています。ファイアウォールの設定で行き詰まっています。必要なのは、IP の範囲 (例: 128.171.21.1 - 128.171.21.100) のみに HTTP サーバーと Webmin へのアクセスを許可することです。多くのチュートリアルを見てきましたが、どれも私のニーズに合いません。
前もって感謝します!
答え1
DROP
デフォルトのポリシーがforINPUT
およびOUTPUT
chainsに設定されている場合、次のコマンドを使用して HTTP サーバへのアクセスを許可できます。
$ sudo iptables -A INPUT -i lo -j ACCEPT
$ sudo iptables -A OUTOUT -i lo -j ACCEPT
$ sudo iptables -A INPUT -s 128.171.21.0/24 -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
$ sudo iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
$ sudo iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
$ sudo iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
$ sudo iptables -A INPUT -p tcp -m tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
すべてのサブネット 128.171.21.0/24 が Web サーバーにアクセスできるようになります。必要に応じてカスタマイズできます。
注意してください。サーバーにリモートでアクセスするには、SSH (ポート 22) などの他のプロトコルを許可する必要がある場合があります。
編集:最後の 4 つのルールは、サーバーが DNS と HTTP を要求できるようにするために追加されました。
答え2
iptablesが難解すぎると思うなら、Ubuntuにはシンプルなiptablesラッパーがあります。ユーフォ。