在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来访问内部网络中的设备和服务。