LinuxSir.cn,穿越时空的Linuxsir!

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

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

[复制链接]
发表于 2006-11-18 14:08:51 | 显示全部楼层 |阅读模式
主要是想把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 23:09:51 | 显示全部楼层
怎么回是DNAT呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-19 09:28:54 | 显示全部楼层
問題已經解決了, 在後面加一句
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


thanks all
回复 支持 反对

使用道具 举报

发表于 2006-11-19 11:18:46 | 显示全部楼层
应该是楼主说的这么个流程。问题是应该用:
iptables -t nat -A POSTROUTING -p TCP -d 192.168.0.200 --dport 22 -j MASQUERADE
来限制目的地址,否则所有到ssh端口的通信全部nat。
这么用没有什么问题,我曾经做过两级nat,没什么异常。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-20 09:23:51 | 显示全部楼层
但是下面的這句話,也把所有到ssh端口的通信全部轉到200了

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to 192.168.0.200:22

有更好的方法嗎?

thinking...
回复 支持 反对

使用道具 举报

发表于 2006-11-20 15:03:02 | 显示全部楼层
本机ssh换端口,或者指定源地址范围。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-21 15:21:39 | 显示全部楼层
yes, you are right.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-21 15:48:16 | 显示全部楼层
本机ssh换端口,
I want to ask , How to change, or  where I can change in redhat or Debian.
回复 支持 反对

使用道具 举报

发表于 2006-11-22 08:41:01 | 显示全部楼层
够晕的,找sshd的配置不就能改了吗。
找/etc/ssh/sshd_config中的port。
回复 支持 反对

使用道具 举报

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

本版积分规则

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