溫馨提示×

Ubuntu iptables如何實現端口轉發

小樊
148
2025-03-04 04:16:31
欄目: 智能運維

在 Ubuntu 系統中,你可以使用 iptables 命令來實現端口轉發。以下是一個基本的步驟指南:

  1. 打開終端。

  2. 確保 iptables 已安裝

    sudo apt update
    sudo apt install iptables
    
  3. 啟用 IP 轉發: 編輯 /etc/sysctl.conf 文件,找到并取消注釋以下行:

    net.ipv4.ip_forward=1
    

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

    sudo sysctl -p
    
  4. 設置端口轉發規則: 假設你想將外部端口 8080 轉發到內部 IP 地址 192.168.1.100 的端口 80,可以使用以下命令:

    sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80
    sudo iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.100 --dport 80 -j MASQUERADE
    

    解釋:

    • -t nat:指定使用 NAT 表。
    • -A PREROUTING:在 PREROUTING 鏈中添加規則。
    • -p tcp --dport 8080:匹配 TCP 協議,目標端口為 8080。
    • -j DNAT --to-destination 192.168.1.100:80:將數據包的目標地址和端口修改為 192.168.1.100:80。
    • -A POSTROUTING:在 POSTROUTING 鏈中添加規則。
    • -p tcp -d 192.168.1.100 --dport 80:匹配 TCP 協議,目標地址為 192.168.1.100,目標端口為 80。
    • -j MASQUERADE:進行源地址轉換(SNAT),以便返回的數據包能夠正確路由回外部網絡。
  5. 保存 iptables 規則: 為了確保重啟后規則仍然有效,可以使用 iptables-persistent 工具來保存規則。

    sudo apt install iptables-persistent
    sudo netfilter-persistent save
    sudo netfilter-persistent reload
    

完成以上步驟后,你的端口轉發規則應該已經生效。你可以通過訪問外部 IP 地址的 8080 端口來測試端口轉發是否正常工作。

請注意,這些步驟假設你的系統有一個外部 IP 地址,并且你的網絡配置允許進行端口轉發。如果你在云服務器上操作,還需要確保安全組或防火墻規則允許相應的流量通過。

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