154

CentOS 7 を最小限の構成 (OS + 開発ツール) でインストールしました。サービス用に 80 ポートを開こうとしていますhttpdが、iptables サービスに何か問題があります...何が問題なのですか? 私は何を間違っていますか?

# ifconfig/sbin/service iptables save
bash: ifconfig/sbin/service: No such file or directory


# /sbin/service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.

# sudo service iptables status
Redirecting to /bin/systemctl status  iptables.service
iptables.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)

# /sbin/service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.

# sudo service iptables start
Redirecting to /bin/systemctl start  iptables.service
Failed to issue method call: Unit iptables.service failed to load: No such file or directory.
4

9 に答える 9

342

RHEL 7 / CentOS 7 では、iptables を管理するためにfirewalldが導入されました。私見では、firewalld はサーバー環境よりもワークステーションに適しています。

より古典的な iptables セットアップに戻ることは可能です。まず、firewalld サービスを停止してマスクします。

systemctl stop firewalld
systemctl mask firewalld

次に、iptables-services パッケージをインストールします。

yum install iptables-services

起動時にサービスを有効にします。

systemctl enable iptables

サービスの管理

systemctl [stop|start|restart] iptables

ファイアウォール ルールを保存するには、次の手順を実行します。

service iptables save

また

/usr/libexec/iptables/iptables.init save
于 2014-07-18T14:29:30.633 に答える
103

RHEL および CentOS 7 は、 iptables の代わりに firewall-cmd を使用します。そのようなコマンドを使用する必要があります。

# add ssh port as permanent opened port
firewall-cmd --zone=public --add-port=22/tcp --permanent

次に、ルールをリロードして、すべてが問題ないことを確認します

firewall-cmd --reload

これは、特に lxc や docker コンテナーを使用する予定がある場合は、iptable-save を使用するよりも優れています。docker サービスを起動すると、iptable-save コマンドがプロンプトを表示するいくつかのルールが追加されます。結果を保存すると、保存してはいけない多くのルールが作成されます。Docker コンテナーは、次回の再起動時に IP アドレスを変更できるためです。

これには、永続的なオプションを指定した Firewall-cmd の方が適しています。

「man firewall-cmd」を確認するか、firewalld の公式ドキュメントを確認してオプションを確認してください。ゾーン、構成、動作方法を確認するためのオプションがたくさんあります... manページは本当に完全です。

Centos 7 以降、iptables-service を使用しないことを強くお勧めします

于 2014-08-10T15:12:07.057 に答える
18

次のコマンドを試してくださいiptables-save

于 2014-09-11T14:30:19.270 に答える
0

systemctl mask firewalldさらに、コマンドを実行した後、ip6tables に対しても同じことができるはずです。

    systemctl start ip6tables.service
    systemctl enable ip6tables.service
于 2015-04-06T04:33:34.303 に答える