Chinaunix

标题: 转发不成功,请看规则。 [打印本页]

作者: weizhishu    时间: 2002-12-18 11:11
标题: 转发不成功,请看规则。
iptables -F -t filter
iptables -F -t nat
iptables -F -t mangle

modprobe ip_talbes
modprobe ip_nat_ftp
modprobe ip_conntrack
modprobe ip_conntrack_ftp

iptables -A INPUT -i lo -s 127.0.0.2 -j ACCEPT
iptables -A INPUT -s 127.0.0.2 -j DROP
iptables -A INPUT -s 172.16.0.0/12 -j DROP
iptables -A INPUT -s 10.0.0.0/8 -j DROP
iptables -A INPUT -i eth1 -s 192.168.0.166 -j DROP


iptables -t nat -A PREROUTING   -p tcp     -d $WAN_IPADDRESS --dport 5555 -j DNAT --to-destination 192.168.0.250
iptables -t nat -A PREROUTING   -p tcp     -d $WAN_IPADDRESS --dport 5556 -j DNAT --to-destination 192.168.0.2
iptables -t nat -A PREROUTING   -p tcp     -d $WAN_IPADDRESS --dport 23 -j DNAT --to-destination 192.168.0.8


iptables -t nat -A POSTROUTING  -p tcp     -s 192.168.0.250  --sport 22   -j SNAT --to-source 61.185.207.246:5555
iptables -t nat -A POSTROUTING  -p tcp     -s 192.168.0.2    --sport 22   -j SNAT --to-source 61.185.207.246:5556
iptables -t nat -A POSTROUTING  -p tcp     -s 192.168.0.8       -j SNAT --to-source 61.185.207.246:23

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s $LAN_IPADDRESS -j ACCEPT

作者: wind521    时间: 2002-12-18 11:14
标题: 转发不成功,请看规则。
先能说一下你要实现的功能吗?

作者: wind521    时间: 2002-12-18 11:16
标题: 转发不成功,请看规则。
对于POSTROUTING PREROUTING最好指定设备

作者: weizhishu    时间: 2002-12-18 11:20
标题: 转发不成功,请看规则。
因为我要所有的ethX设备都适应以上的规则,所以没有指定界面的入口和出口,
主要功能是到61.185.207.246的5555转发到192.168.0.2的22端口等,转发不成功,但是我找不出错误。
作者: wind521    时间: 2002-12-18 11:25
标题: 转发不成功,请看规则。
--to-source 61.185.207.246:5556这个成功了吗?

作者: weizhishu    时间: 2002-12-18 11:26
标题: 转发不成功,请看规则。
没有成功。
作者: Badmi    时间: 2002-12-18 11:27
标题: 转发不成功,请看规则。
[这个贴子最后由Badmi在 2002/12/18 11:30am 编辑]

/etc/sysctl.conf

net.ipv4.ip_forward = 1


你的iptables的三个tab默认rule哪有写?

作者: wind521    时间: 2002-12-18 11:29
标题: 转发不成功,请看规则。
你这样作想实现什么?
访问192.168.0.2的22端口,然后跳 到外面的IP上吗?
还是?

作者: wind521    时间: 2002-12-18 11:30
标题: 转发不成功,请看规则。
SNAT的应用一般都是为了将真实的IP给保护起来
你这样的应用不太懂
:)

作者: weizhishu    时间: 2002-12-18 11:36
标题: 转发不成功,请看规则。
是访问题61.185.207.246的5555端口时转发到192.168.0.2的22端口上等。
下面是各个表的输出内容。
[root@xfpower etc]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  anywhere             smtp.xfpower.com   tcp dpt:5555 to:192.168.0.250
DNAT       tcp  --  anywhere             dns.xfpower.com    tcp dpt:5556 to:192.168.0.2
DNAT       tcp  --  anywhere             smtp.xfpower.com   tcp dpt:telnet to:192.168.0.8

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       tcp  --  192.168.0.250        anywhere           tcp spt:ssh to:61.185.207.246:5555
SNAT       tcp  --  192.168.0.2          anywhere           tcp spt:ssh to:61.185.207.246:5556
SNAT       tcp  --  192.168.0.8          anywhere           to:61.185.207.246:23
MASQUERADE  all  --  192.168.0.0/24       anywhere           

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  
[root@xfpower etc]# iptables -t filter -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  127.0.0.2            anywhere           
DROP       all  --  127.0.0.2            anywhere           
DROP       all  --  172.16.0.0/12        anywhere           
DROP       all  --  10.0.0.0/8           anywhere           
DROP       all  --  192.168.0.166        anywhere           

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere           state RELATED,ESTABLISHED
ACCEPT     all  --  192.168.0.0/24       anywhere           

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
[root@xfpower etc]# iptables -t mangle -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
看看出了什么误。
作者: wind521    时间: 2002-12-18 12:05
标题: 转发不成功,请看规则。
DNAT实现了吗?

作者: Badmi    时间: 2002-12-18 12:28
标题: 转发不成功,请看规则。
[这个贴子最后由Badmi在 2002/12/18 12:30pm 编辑]

telnet smtp.xfpower.com 23,转到telnet 192.168.0.8 23,这时192.168.0.8 23响应的结果又送到61.185.207.246:23,这是你要的结果?

别的不看了
作者: Badmi    时间: 2002-12-18 12:48
标题: 转发不成功,请看规则。
[这个贴子最后由Badmi在 2002/12/18 01:44pm 编辑]
下面引用由weizhishu2002/12/18 11:20am 发表的内容:
因为我要所有的ethX设备都适应以上的规则,所以没有指定界面的入口和出口,
主要功能是到61.185.207.246的5555转发到192.168.0.2的22端口等,转发不成功,但是我找不出错误。

iptables -t nat -A PREROUTING -p tcp -d 61.185.207.246 --dport 5555 -j DNAT --to-destination 192.168.0.2:22

iptables -L -t nat -vn

target prot opt in out source    destination         
DNAT   tcp  --  *  *   0.0.0.0/0 61.185.207.246 tcp dpt:5555 to:192.168.0.2:22

作者: weizhishu    时间: 2002-12-18 19:29
标题: 转发不成功,请看规则。
我想telnet smtp.xfpower.com时转发到内部的23端口。
求badmi说清楚点,这个问题郁闷很长时间了,多谢了。
作者: weizhishu    时间: 2002-12-19 10:30
标题: 转发不成功,请看规则。
顶。
作者: Badmi    时间: 2002-12-19 11:41
标题: 转发不成功,请看规则。
[这个贴子最后由Badmi在 2002/12/19 12:15pm 编辑]

明白了,你是要实现ip及port的重定向,而不是nat的功能。
iptables有一个转发的功能redirect,但只支持到localhost的端口。
我想正确的做法是用iptables和ipmasqadm这两个软件结合使用,会容易些。
我以前用ipchains和ipmasqadm实现过类似你的这样的要求。

另还有一个只用iptables的方法
iptables -t nat -A PREROUTING -p tcp -d smtp.xfpower.com --dport 23 -j DNAT --to 192.168.0.8:23
iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.8 --dport 23 -j SNAT --to 网关IP

这个我试验成功了。

作者: Badmi    时间: 2002-12-19 11:46
标题: 转发不成功,请看规则。
真正的DNAT或SNAT的应用可以参考
http://www.linuxaid.com.cn/engineer/bye2000/doc/nat.htm

我想你与这个要求不是一样的吧。
作者: weizhishu    时间: 2002-12-19 12:13
标题: 转发不成功,请看规则。
我有公网只有一个有效的ip,那么怎么用其它方法解决以上问题?iptables有没有其它方法,用一个公网ip dnat一个内部机的没有那么多公网的ip.
作者: Badmi    时间: 2002-12-19 12:16
标题: 转发不成功,请看规则。
[这个贴子最后由Badmi在 2002/12/19 12:19pm 编辑]

另还有一个只用iptables的方法
iptables -t nat -A PREROUTING -p tcp -d smtp.xfpower.com --dport 23 -j DNAT --to 192.168.0.8
iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.8 --dport 23 -j SNAT --to 网关IP

这个我试验成功了
作者: weizhishu    时间: 2002-12-19 12:25
标题: 转发不成功,请看规则。
多谢badmi,我试试看。
作者: weizhishu    时间: 2002-12-19 13:20
标题: 转发不成功,请看规则。
多谢badmi,已经成功了,但是还有一点小问题,当ssh 61.185.207.246 -D 5555时却实已经成功了,但是输入正确的用户名和密码后许可被拒绝,直接ssh 192.168.0.8时却是可以的。不知道怎么回事。
作者: Badmi    时间: 2002-12-19 14:14
标题: 转发不成功,请看规则。
没明白,61.185.207.246与192.168.0.8的关系,你要实现sshd的转发?
按我上面写的,类似的把23改成22,试过吗?
作者: weizhishu    时间: 2002-12-20 08:56
标题: 转发不成功,请看规则。
23可以,但是22不行,61.185.207.246是网关双网卡对内地址为192.168.0.1,192.168.0.8是内网的一台2000器,0.2和0.250是内网的两台linux机。
现在是内网的2000机的23转发成功,但是linux的22端口不成功,写法是一样的。
作者: Badmi    时间: 2002-12-20 09:23
标题: 转发不成功,请看规则。
PREROUTING、POSTROUTING默认我都设成DROP,然后仅加上我上面写的两条,只是改成22,试验一下没有问题啊,我用的是SecureCRT,不过我只试验的是SSH的口令方式,没有试验密匙方式。

还有,我记得ssh没有-D参数吧,-p是指定远程主机的端口吧

作者: weizhishu    时间: 2002-12-20 10:37
标题: 转发不成功,请看规则。
成功了,ssh有-D参数的。呵呵!




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2