ファイルを直接編集する
/etc/sysconfig/iptables
多くの頭痛や時間などを節約できたはずなのに…。
しかし、ファイルの上部には次のように書かれています。
Manual customization of this file is not recommended.
これは、新しいcentos 6.4クラウドサーバーに付属する「/etc/sysconfig/iptables」です。
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
ポート80を開くには、単にラインを複製するだけです。
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
次に「22」を「80」に変更し、ファイルを保存してシステム全体を再起動します。
これでポート80が開きます。
これは非常に簡単な操作です。ただし、ドキュメントには手動編集は推奨されていません。
なぜアドバイスに従うべきですか?
ベストアンサー1
system-config-firewall
これは、ncurses(またはncursesベースの兄弟)というツールがsystem-config-firewall-tui
このファイルを管理するためです。このツールを使用して新しいiptablesルールを作成するたびに上書きされます/etc/sysconfig/iptables
。
関連マンページ:28.1.16。 /etc/sysconfig/iptables-config
だからお勧めしませんが、お勧めしません。禁止する。 CentOSまたは他のELバージョン6を使用してルールを保存する最善の方法は、メモリにいくつかのルールを追加した後にiptablesサービスを使用することです。
# service iptables save
関連質問:iptablesがCentOの/etc/sysconfig/iptablesから情報を取得できないのはなぜですか?
このファイルを直接編集しない理由(/etc/sysconfig/iptables
):
- 自動生成されたファイルだからです。その内容はscript/daemonから来ます
/etc/init.d/iptables
。 - iptablesデーモンのリセットや停止などの特定の操作はファイルを上書きするため、データが失われる可能性があります。このトピックの興味深い変数は
IPTABLES_SAVE_ON_STOP=""
ファイルのIPTABLES_SAVE_ON_RESTART=""
内部です/etc/sysconfig/iptables-config
。おそらくこれを調整すると、変更は/etc/init.d/iptables
永久に適用されます。 - 文書だから私はすでにそう言ったRed Hatは、ファイアウォールインフラストラクチャを使用する最良の方法としてこれをお勧めします。
「私のファイアウォールルールをオーバーライドする」もう1つの解決策は、これらのスクリプトを完全に無効にしてファイアウォールを管理するカスタムメソッドに頼ることです。わかめの一種。