如何使用路由器 IP 和一些端口号访问 nat 路由后面的 linux 机器

如何使用路由器 IP 和一些端口号访问 nat 路由后面的 linux 机器
 ---                    ------                    -------- 
|PC|       <-->        |router|             <-->  |linux pc|
----                    ------                     --------

电脑IP 192.168.10.5

路由器ip(左接口)192.168.10.1

路由器ip(右接口)192.168.45.1

Linux电脑ip 192.168.45.5

我在 PC(192.168.10.5)上,我想从那里 ssh 到 192.168.45.5,但只使用路由器 IP 192.168.10.1 和一些端口号。

有人知道如何使用 Iptables 配置路由器吗????所有机器上都运行着 ubuntu。

答案1

我要关闭这个问题了,因为我可以使用路由器 192.168.10.1 ip 和端口 20022 访问 192.168.45.5

iptables --table nat -A PREROUTING -i enp2s0 -p tcp -m tcp --dport 20022 -j DNAT --to-destination 192.168.45.30:22

iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE

iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

iptables -A 转发 -i enp3s0 -o enp2s0 -j 接受

答案2

假设您已在 中启用端口转发/etc/sysctl.conf。如果是这样,这将有助于您获得相应的接口名称。

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE 

iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

相关内容