13
Ubuntu端口转发的使用方法,可以当跳板机用

Ubuntu上连接两个不同的网络,网络A 和网络B, 实现网络A中一个设备通过ubuntu的一个端口转发数据到网络B中指定设备的端口上。


使用 iptables

iptables是 Linux 上用于配置防火墙的工具。


1. 安装iptables

sudo apt update

sudo apt install iptables


2. 添加一条规则来进行端口映射

sudo iptables -t nat -A PREROUTING -p tcp --dport 3389 -j DNAT --to-destination 50.50.1.95:3389


从Ubuntu 端口3389接收到的数据转发到 50.50.1.95:3389


3.IP转发启用

sudo sysctl net.ipv4.ip_forward=1


查看ip_forward文件是否为1


cat /proc/sys/net/ipv4/ip_forward


永久修改,重启后仍旧有效,修改文件/etc/sysctl.conf 中将net.ipv4.ip_forward=1前面的#注释去掉,保存文件,然后执行sudo sysctl -p使其生效


4.添加一条规则来允许转发流量

sudo iptables -t nat -A POSTROUTING -o [egress-interface] -j MASQUERADE


其中 [egress-interface] 应该是你的出口网络接口,比如 eth0 或 ens33。


5.保存规则

sudo iptables-save > /etc/iptables/rules.v4


6. 安装iptables-persistent软件包,保证重启规则生效

sudo apt-get install iptables-persistent


在安装过程中,你会被要求确认是否将当前的iptables规则保存到文件中。选择"是",然后继续进行安装。

安装完成后,iptables-persistent会自动加载保存的iptables规则文件。

如果你想更新iptables规则,只需编辑/etc/iptables/rules.v4文件,然后使用以下命令重新加载规则:


sudo iptables-restore < /etc/iptables/rules.v4



这条帮助是否解决了您的问题? 已解决 未解决

提交成功!非常感谢您的反馈,我们会继续努力做到更好! 很抱歉未能解决您的疑问。我们已收到您的反馈意见,同时会及时作出反馈处理!