ポートを外部IPに転送するfirewall-cmd
を使用しようとしていますが、-特定のipsからのアクセスを拒否する必要があります。
ポート55500
のポート転送を設定するには、次のコマンドを使用します。
firewall-cmd --permanent --zone=public --add-forward-port=port=55500:proto=tcp:toport=55500:toaddr=2.2.2.2
これは正常に機能し、ポート55500
に接続しているユーザーは正常に2.2.2.2
にリダイレクトされますが、前述のように、1.1.1.1/24
からのユーザーへのアクセスを拒否する必要があります。
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='1.1.1.1/24' reject"
または:
firewall-cmd --permanent --zone=public --add-rich-rule='rule family=ipv4 source address=1.1.1.1/24 port port=55500 protocol=tcp reject'
または:
firewall-cmd --zone=drop --add-source=1.1.1.1/24
ただし、上記のコマンド(すべての後にfirewall-cmd --reload
が続く)は機能せず、55500
からポート1.1.1.1
に接続しているユーザーは引き続き2.2.2.2
にリダイレクトされます。
ソースIPに基づいてポートリダイレクトを拒否するにはどうすればよいですか?
--permanent
を見逃したため、以前は機能しませんでした。
次のコマンドは、1.1.1.1/24
からのユーザーからのポートリダイレクトを拒否します。
firewall-cmd --zone=drop --permanent --add-source=1.1.1.1/24
firewall-cmd --reload