我发现了几个关于如何做的教程,但没有得到它们的工作:/
我的设置:
防火墙 – 可从networking访问 – eth0:xxx.xxx.xxx.xxx(公共IP) – eth1:192.168.1.1
服务器 – 从FIREWALL可达 – eth0:192.168.1.5
因为我仍然希望能够连接到端口22上的防火墙,我想将端口2222上的传入连接转发到192.168.1.5:22。
ping和ssh从防火墙到SERVER的工作。 ping和ssh从服务器到防火墙的工作(尽pipelogin只允许与公共密钥和服务器不允许…)
ping和ssh从任何地方到防火墙工作。
IP转发已启用:
# sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1
过帐我的iptables规则没有太大的意义,因为没有任何规则的工作(使用PREROUTING,POSTROUTING,FORWARD …),没有其他规则。
是的,我的防火墙不会阻塞任何东西。 但这不是关于安全(还)。
我尝试了我在第一页中find的所有内容: https : //www.google.de/search?q=iptables+forward+ssh
有什么build议么?
问候,延斯
UPDATE下面是使用Khaled的iptables命令后tcpdump -n -i any
的输出:
15:42:33.852718 IP home-ip.56008 > firewall-public-ip.2222: Flags [S], seq 1141341765, win 14600, options [mss 1460,sackOK,TS val 871214 ecr 0,nop,wscale 7], length 0 15:42:33.852752 IP home-ip.56008 > 192.168.1.5.22: Flags [S], seq 1141341765, win 14600, options [mss 1460,sackOK,TS val 871214 ecr 0,nop,wscale 7], length 0
我会猜想在第二行会有这样的东西… IP 192.168.1.1.45678> 192.168.1.5.22 …
这两行重复几次,因为我的SSH客户端尝试多次连接。 但是没有任何答案。
第二次更新服务器的路由(192.168.1.5)在这里 。 我刚刚添加了一个路线
public-firewall-ip 255.255.255.255 192.168.1.1 192.168.1.5 1
但这没有效果。 在服务器上运行Win XP并安装了cygwin的sshd。 我之前没有提到过,因为从防火墙到服务器的ssh工作得很好。 但是,当谈到路由时,我觉得Windows是有限的。
现在我正在服务器上安装Wireshark,并将结果粘贴到几分钟之内。
在服务器上跟踪服务器上的跟踪在端口22上显示一个到达的SYN,并向我的主页-IP留下SYN,ACK。 我认为有错误。 ACK应该发送到防火墙比被伪装,因为在离开包的源IP /端口现在是192.168.1.5:22。 没有办法,这到达我的笔记本电脑在NAT后面……还是有办法吗?
如果允许stream量通过防火墙并启用了IP转发,则只需要一个NAT规则在端口2222上转发SSHstream量。像这样的一个应该完成这项工作:
$ iptables -t nat -A PREROUTING -d xxxx -p tcp --dport 2222 -j DNAT --to-destination 192.168.1.5:22
更新:
networking嗅探器是你的朋友debugging这样的问题。 您可以在防火墙机器上运行tcpdump,看看是否可以捕获请求,同样的请求应该离开防火墙机器。