在Ubuntu系統中,使用iptables進行端口映射(也稱為端口轉發)可以通過以下步驟實現。端口映射允許你將一個端口上的流量轉發到另一個端口或另一臺機器上。
假設你想將外部端口8080的流量轉發到內部IP地址192.168.1.100的端口80上。
打開終端。
添加iptables規則:
sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80
保存iptables規則: Ubuntu默認不會保存iptables規則,所以你需要手動保存??梢允褂?code>iptables-persistent包來保存規則。
sudo apt-get update
sudo apt-get install iptables-persistent
在安裝過程中,系統會提示你是否保存當前的iptables規則,選擇“是”。
如果你想將內部端口80的流量轉發到外部IP地址203.0.113.5的端口8080上。
添加iptables規則:
sudo iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.100 --dport 80 -j SNAT --to-source 203.0.113.5
啟用IP轉發:
編輯/etc/sysctl.conf文件,找到并取消注釋以下行:
net.ipv4.ip_forward=1
然后運行以下命令使更改生效:
sudo sysctl -p
如果你需要刪除之前添加的規則,可以使用以下命令:
刪除PREROUTING規則:
sudo iptables -t nat -D PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:80
刪除POSTROUTING規則:
sudo iptables -t nat -D POSTROUTING -p tcp -d 192.168.1.100 --dport 80 -j SNAT --to-source 203.0.113.5
ufw或firewalld。通過以上步驟,你應該能夠在Ubuntu系統上成功配置端口映射。