在Ubuntu系統中,你可以使用iptables
命令來實現端口轉發。以下是一個簡單的示例,說明如何將外部端口轉發到內部網絡中的特定設備和服務。
iptables
。如果沒有,請運行以下命令來安裝:sudo apt update
sudo apt install iptables
/etc/sysctl.conf
文件:sudo nano /etc/sysctl.conf
找到以下行:
net.ipv4.ip_forward=1
如果它被注釋掉了(以#
開頭),請取消注釋。然后保存并關閉文件。
sudo sysctl -p
iptables
命令設置端口轉發。例如,如果你想將外部端口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
iptables
規則,以便在系統重啟后仍然生效。你可以使用iptables-persistent
包來實現這一點:sudo apt install iptables-persistent
在安裝過程中,它會詢問你是否要保存當前規則。選擇“是”,然后選擇“是”以保存IPv4規則。
現在,端口轉發已經設置好了。外部設備可以通過訪問Ubuntu服務器的IP地址和端口8080來訪問內部網絡中的設備和服務。