Centos

將 IPTables 規則轉換為 Firewalld 規則以進行重定向

  • May 10, 2018

我對網路的東西不是很熟悉,而且我很難理解 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

如果它做你想做的事,讓它成為永久的。

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