私はRHEL7を使い始め、systemdに伴う変更について少し学びます。
Firewalldで/sbin/service iptables save
を実行する方法はありますか?
$ /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.
ドキュメントから見つけることができる最も近い類似物は--reload
です:
Reload the firewall without loosing state information:
$ firewall-cmd --reload
しかし、それが節約であるかどうかは明確に述べていません。
RHEL 7.0のfirewalldのバージョンには、「保存」スクリプトがなく、実行中のファイアウォール構成を永続的な構成にコピーする方法がありません。変更を加えるコマンドラインに--permanent
を追加して、firewalldでファイアウォールの変更を保存します。これがないと、変更は一時的なものであり、システムを再起動すると失われます。
例えば:
firewall-cmd --add-service=http # Running config
firewall-cmd --add-service=http --permanent # Startup config
Firewalldのそれ以降(RHEL 7以降)のバージョンには、実行中の構成を保存する方法が含まれています。これは現在、Fedoraおよび RHEL 7.1の場合 で使用できます。この場合のコマンドは単純です。
firewall-cmd --runtime-to-permanent
SIPサービスといくつかのIPを追加する必要がありました
/ usr/lib/firewalld/services /ディレクトリに、他のxmlサービスファイルに基づいてsip.xmlを追加しました。
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>SIP</short>
<description>This is SIP, Yo! </description>
<port protocol="udp" port="5060"/>
</service>
次に、sipサービスをファイアウォールに追加しました
# firewall-cmd --add-service=sip --permanent
次に、サービスにIPを/etc/firewalld/zones/public.xmlに追加しました
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description></description>
<service name="dhcpv6-client"/>
<service name="http"/>
<service name="ssh"/>
<service name="https"/>
<rule family="ipv4">
<source address="x.x.x.x/32"/>
<service name="sip"/>
<accept/>
</rule>
</zone>
ロギングのレベルを追加する場合は、LOGを追加することもできます
<rule family="ipv4">
<source address="x.x.x.x/32"/>
<service name="sip"
<log prefix="sip" level="info"/>
<accept/>
</rule>
ゾーンにルールを追加した後、実行します
# firewall-cmd --reload
iptablesを確認してください-すべて設定されているはずです。