ubuntu – iptables问题:将端口x转发到网络上不同机器的ssh端口

前端之家收集整理的这篇文章主要介绍了ubuntu – iptables问题:将端口x转发到网络上不同机器的ssh端口前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一台Ubuntu PC,带有两个网卡,充当路由器.一个卡eth0连接到互联网,其他eth1连接到LAN.
我想将LAN中不同主机的ssh端口暴露给外部世界的不同端口号.即
“ssh user @ router -p 1234”应该转到host1的ssh端口,“ssh user @ router -p 3456”应该转到host2.
我为host1添加了以下iptable规则,但它不起作用:
iptables -A FORWARD -i $EXTIF -o $INTIF -p tcp --dport 1234 -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A PREROUTING -t nat -p tcp -d $EXTIP --dport 1234 -m conntrack --ctstate NEW,RELATED -j DNAT --to-destination 10.9.0.2:22

EXTIF是外部接口(eth0),
INTIF是内部接口(eth1),
EXTIP是eth0的IP地址.

有帮助吗?
(不确定问题是否清楚,如果有人理解我的意图,请用正确的行话编辑)

FORWARD链的规则需要使用目标端口,因为它在预先路由链之后执行,即在DNAT完成之后执行.
iptables -A FORWARD -i $EXTIF -o $INTIF -p tcp --dport 22 -m conntrack --ctstate NEW,RELATED -j ACCEPT

各种表和链如何链接在一起的良好概述图如下:
http://www.csie.ntu.edu.tw/~b92035/cnl/hw1/Iptables.gif

原文链接:https://www.f2er.com/ubuntu/347738.html

猜你在找的Ubuntu相关文章