特定のネットワークが1つのサービスのみにアクセスし、1つのゾーンのすべてのサービスですべてを許可するように、firewall-cmdツール(新しいfirewalld)を使用してファイアウォールルールを作成するにはどうすればよいですか。
例えば:
インターフェースeno1が1つだけあり、それはパブリックゾーンに関連付けられています。そのゾーンでHttpおよびhttpsサービスが有効になっています。そのゾーンでsshアクセスを有効にしたいが、ネットワークへのsshアクセスを制限したい(例:100.0.0.0/8)
これを行う最良の方法は何ですか?
答えを探しましたが、自分の質問に関連する多くの質問が見つかりました。
多くの勉強の後、私は回避策を思いつきました。これが私がやったことです
パブリックゾーンにインターフェースを追加しました
その後
Sudo firewall-cmd --permanent --zone=public --add-service=http
Sudo firewall-cmd --permanent --zone=public --add-service=https
Sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="x.x.x.x/x" service name="ssh" log prefix="ssh" level="info" accept'
Sudo firewall-cmd --reload
注:送信元アドレスは範囲である可能性があります。ネットワークマスクを指定するだけ
Sshはpublicゾーンに追加されなかったため、デフォルトでブロックされます。リッチルールは、そのソースIPに対してのみ有効にします。
より良い解決策を追加してください。