环境:
A机器两块网卡ens33(192.168.109.130)、ens37(192.168.100.1),ens33可以上外网,ens37仅仅是内部网络,B机器只有ens37(192.168.100.100),和A机器ens37可以通信互联。
A机器:

ifconfig配置IP,临时生效:
ifconfig ens37 192.168.100.1/24

B机器:

配置网卡:

A机器测试:


B机器测试:


主机测试:

需求1:
可以让B机器连接外网
操作:
A机器上打开路由转发 echo "1">/proc/sys/net/ipv4/ip_forward

A上执行 iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

B上设置网关为192.168.100.1

测试IP:

设置DNS
vim /etc/resolv.conf

测试外网:


测试主机:

需求2(端口映射):
C机器只能和A通信,让C机器可以直接连通B机器的22端口
操作:
A上打开路由转发echo "1">/ proc/sys/net/ipv4/ip_forward
进去的包的操作:
A上执行iptables -t nat -A PREROUTING -d 192.168.109.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22
先清空规则,在添加:


回来的包的操作:
A上执行iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.109.130

B上设置网关为192.168.100.1

测试:






到这端口映射就做好了,还能ping通外网。
A机器辅助B机器上网及端口映射
本文介绍如何通过A机器辅助B机器连接外网并进行端口映射的方法。首先打开A机器的路由转发功能,并通过iptables设置NAT规则实现B机器上网。接着,对进入A机器的特定端口的请求进行DNAT操作,将其转发到B机器的相应端口,同时设置SNAT规则确保响应包正确返回。


被折叠的 条评论
为什么被折叠?



