Iptables

僅使用 firewalld 從特定源 ip 將埠 514 轉發到 5514

  • January 28, 2019

我一直在嘗試找到一種方法將流量從特定 ip 轉發,例如埠 514 上的 10.17.1.3 到埠 5514,在 CentOS 上使用 firewalld

這有效:

 <masquerade/>
 <forward-port to-port="5514" protocol="udp" port="514"/>
 <forward-port to-port="5514" protocol="tcp" port="514"/>

不起作用:

 <masquerade/>
 <rule family="ipv4">
   <source address="10.17.1.3"/>
   <forward-port to-port="5514" protocol="udp" port="514"/>
 </rule>

其中添加了:

sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='10.17.1.3' forward-port protocol='udp' port='514' to-port=5514"

有沒有什麼方法可以只為具有firewalld的特定源ip實現埠轉發?

與往常一樣,在按源地址選擇流量時,應避免使用豐富的規則來按源地址選擇,而是創建一個新的防火牆區域來匹配來自相關源地址的流量。

例如:

firewall-cmd --new-zone=syslogsources --permanent
firewall-cmd --reload
firewall-cmd --zone=syslogsources --add-source=10.17.1.3
firewall-cmd --zone=syslogsources --add-forward-port=port=514:proto=udp:toport=5514

在你確認它有效之後,保存它:

firewall-cmd --runtime-to-permanent

引用自:https://serverfault.com/questions/951115