Centos
將 IPTables 規則轉換為 Firewalld 規則以進行重定向
我對網路的東西不是很熟悉,而且我很難理解 hay firewalld 的工作原理。
我正在開發一個 REST 服務,實際上是在埠 8080 上偵聽,並且我希望能夠在埠 80 上發送重定向到 8080 的請求。
為了在 CentOS 6 上做到這一點,我使用了 iptables 和這樣的規則:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
我在 CentOS 7 上遷移,甚至 iptables 仍然存在並且仍然有效,firewalld 是預設防火牆軟體的事實讓我認為我應該開始使用該軟體……事實上我無法理解它是如何工作的,並且如何將我的單個 iptables 規則轉換為防火牆規則。我知道 firewalld “理解” iptables 規則(事實上,我正在使用這個規則和 firewalld 來繼續工作),但我想知道該怎麼做,我也想讓這個規則永久化。
謝謝
用於
--add-forward-port
設置埠轉發。從
firewall-cmd
手冊頁:--add-forward-port=port=portid[-portid]:proto=protocol[:toport=portid[-portid]][:toaddr=address[/mask]] [--timeout=timeval] Add the IPv4 forward port for zone. If zone is omitted, default zone will be used. This option can be specified multiple times. If a timeout is supplied, the rule will be active for the specified amount of time and will be removed automatically afterwards. timeval is either a number (of seconds) or number followed by one of characters s (seconds), m (minutes), h (hours), for example 20m or 1h. The port can either be a single port number portid or a port range portid-portid. The protocol can either be tcp, udp, sctp or dccp. The destination address is a simple IP address.
所以你會做這樣的事情:
firewall-cmd --zone=whatever --add-forward-port=port=80:proto=tcp:toport=8080
如果它做你想做的事,讓它成為永久的。