溫馨提示×

centos iptables怎樣實現端口轉發

小樊
34
2025-06-04 00:20:16
欄目: 智能運維

在CentOS系統中,使用iptables實現端口轉發(也稱為端口映射)可以通過以下步驟完成。端口轉發允許你將一個端口上的流量重定向到另一個端口或另一臺服務器。

基本端口轉發

假設你想將本地主機的端口8080轉發到另一臺服務器的端口80。

  1. 啟用IP轉發: 編輯 /etc/sysctl.conf 文件,確保以下行沒有被注釋掉:

    net.ipv4.ip_forward=1
    

    然后運行以下命令使更改生效:

    sysctl -p
    
  2. 配置iptables規則: 使用以下命令添加端口轉發規則:

    iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination <目標服務器IP>:80
    iptables -t nat -A POSTROUTING -p tcp -d <目標服務器IP> --dport 80 -j MASQUERADE
    iptables -A INPUT -p tcp --dport 8080 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
    

    解釋:

    • -t nat:指定使用NAT表。
    • -A PREROUTING:在PREROUTING鏈中添加規則,用于修改數據包的目標地址。
    • -p tcp --dport 8080:匹配TCP協議,目標端口為8080。
    • -j DNAT --to-destination <目標服務器IP>:80:將數據包的目標地址修改為目標服務器的IP地址和端口80。
    • -A POSTROUTING:在POSTROUTING鏈中添加規則,用于修改數據包的源地址。
    • -p tcp -d <目標服務器IP> --dport 80:匹配TCP協議,目標地址為目標服務器的IP地址和端口80。
    • -j MASQUERADE:進行源地址偽裝,使得數據包看起來像是來自本地主機。
    • -A INPUT:在INPUT鏈中添加規則,允許來自端口8080的新連接、已建立的連接和相關的連接。

持久化iptables規則

iptables規則在系統重啟后會丟失,為了使規則持久化,可以使用 iptables-servicesfirewalld。

使用 iptables-services

  1. 安裝 iptables-services

    yum install iptables-services
    
  2. 啟用并啟動 iptables 服務:

    systemctl enable iptables
    systemctl start iptables
    
  3. 保存iptables規則:

    service iptables save
    

使用 firewalld

  1. 安裝 firewalld

    yum install firewalld
    
  2. 啟動并啟用 firewalld 服務:

    systemctl enable firewalld
    systemctl start firewalld
    
  3. 添加端口轉發規則:

    firewall-cmd --permanent --zone=public --add-forward-port=port=8080:proto=tcp:toport=80:toaddr=<目標服務器IP>
    
  4. 重新加載 firewalld 配置:

    firewall-cmd --reload
    

通過以上步驟,你可以在CentOS系統中使用iptables實現端口轉發。選擇適合你需求的方法進行配置即可。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女