LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 867|回复: 4

做了一個iptables,不過好像不行

[复制链接]
发表于 2006-11-18 14:44:14 | 显示全部楼层 |阅读模式
主要是想把ssh 進去,把它轉到另外一台機
不過好像不行,ssh不進去

#!/bin/sh
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -t nat -F
/sbin/iptables -t nat -X
/sbin/iptables -t nat -Z
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to 192.168.0.200:22

系統是剛剛建的,debian 3.1, mini install 只是用來做iptable.
192.168.0.200沒有防火牆, 如果我直接putty進192.168.0.200就可以,
第一台的ip是192.168.0.199,是同一個network來的
发表于 2006-11-18 18:28:26 | 显示全部楼层
要在INPUT里面输入点东西吧?

进入机器后第一个表应该是INPUT然后进入后面的机器是FORWARD
回复 支持 反对

使用道具 举报

发表于 2006-11-18 20:42:53 | 显示全部楼层
如果你的192.168.0.199不是192.168.0.200的网关,那么这么做是不行的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-19 09:26:18 | 显示全部楼层
問題已經解決了, 在後面加一句
iptables -t nat -A POSTROUTING -p TCP --dport 22 -j MASQUERADE

我想問題應該是
當我用一台機(192.168.0.198) ssh進 192.168.0.199時, 199把tcp的包轉到192.168.0.200, 200做出了反應,直接回應198,但198收到時卻丟掉,因為它沒有發包給200.
加了這句後
iptables -t nat -A POSTROUTING -p TCP --dport 22 -j MASQUERADE
199把要轉到200的包先MASQUERADE, 200收到後回應199, 199再把包回送198.
不知我這樣的解析對不對

謝謝大大們的回應  深感感激

但我想問,這句是否最好的呢,對系統有否不好.
iptables -t nat -A POSTROUTING -p TCP --dport 22 -j MASQUERADE
回复 支持 反对

使用道具 举报

发表于 2006-11-20 20:00:45 | 显示全部楼层
这样好不好,得分情况:

因为做了地址转换后,被访问机器认为是做地址转换的那台机器在访问它,因此如果有某种信任关系存在的时候,可能会有安全隐患。

如果不存在这种信任关系,而且你也不需要知道访问者来自何方(这种情况下,对于被访问者而言,它只知道是网关要访问它)的话,这么做没有什么不好。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表