免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 31518 | 回复: 38
打印 上一主题 下一主题

[网络管理] 双线策略路由的三种实现方式总结+端口映射[完结] [复制链接]

论坛徽章:
0
1 [报告]
发表于 2008-07-19 22:13 |只看该作者
呵呵~~~ 没想到被加入精华啊~~~ 感谢版主 !

补充下今天测试的结果及分析(端口映射)
==========================

电信用户通过网通IP访问内网映射的服务器

分析数据包的走向:

电信用户通过网通IP请求服务器80端口的资源
=> 源: 电信IP,目的: 网通IP,目的端口 80
=> 数据包到达服务器上,经过 DNAT,将目的地址改写为 192.168.0.100
=> 源: 电信IP,目的: 192.168.0.100,目的端口 80
=> 通过 eth0 将数据包转交给 192.168.0.100
<= 内网服务器回应数据包
<= 源: 192.168.0.100,目的: 电信IP,源端口 80
<= 服务器接收到数据包,查找路由表,根据目的IP判断,数据包应从电信线路出去

这就是问题所在了,明明电信用户通过网通IP访问服务器资源,回应的数据包本应从网通线路返回的,最终却从电信线路返回,这个返回的数据包自然会被丢。
电信用户收不到返回的数据包,也就是会因超时而访问不了。

解决办法尝试:

对进来的访问端口映射的数据打上标记,然后在路由表里面指向正确的返回路由

1. 在 mangle 链中
    给目的IP为电信的数据包,打上100的标记; 目的IP为网通的,打上200的标记

2. 在iproute2中设定标记为100的数据包走电信出去,标记为200的数据包走网通出去

    ip rule add fwmark 100 table 100 prio 50
    ip rule add fwmark 200 table 200 prio 51


再来分析数据包的走向:

电信用户通过网通IP请求服务器80端口的资源
=> 源: 电信IP,目的: 网通IP,目的端口 80
=> 数据包到达服务器上,打上200的标记,经过 DNAT,将目的地址改写为 192.168.0.100
=> 源: 电信IP,目的: 192.168.0.100,目的端口 80
=> 通过 eth0 将数据包转交给 192.168.0.100
<= 内网服务器回应数据包
<= 源: 192.168.0.100,目的: 电信IP,源端口 80
<= 服务器接收到数据包,数据包中包含200的标记,根据策略路由,数据包应从网通线路出去
<= 经过 SNAT 改写数据包源地址为网通IP
<= 电信用户收到数据包

理论上应该是可行的,由于数据包要经过内网服务器返回,所以打标记不能通过常规的对单个数据包的MARK,而要对整个连接的数据包都 MARK,也就是 CONNMARK

上面的分析尚未经过测试,明天试下看~~~

[ 本帖最后由 coolend 于 2008-7-19 23:03 编辑 ]

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
2 [报告]
发表于 2008-07-19 23:03 |只看该作者
支持你。好好搞一下。出个详细的分析结论出来。

论坛徽章:
0
3 [报告]
发表于 2008-07-21 09:31 |只看该作者
昨天仔细测试了一下~~~ 发现有点问题

外网用户访问映射后的内网服务器,只能通过1个IP访问,但是过7-8分钟后,却可以用另外一个IP访问,但是原来的那个IP就访问不了

比如:服务器的电信IP: 222.x, 网通IP: 218.x ,80端口映射到了内网的 192.168.0.100 网站服务器上

电信用户可以通过 222.x 访问到网站,但通过 222.x 访问不了 ;过几分钟后,可以通过 218.x 访问,但是此时通过 222.x 又访问不了,也就是说同一时间只能通过一个IP访问到。

添加的防火墙规则如下:

iptables -t mangle -I PREROUTING -i eth1 -d 电信IP -m conntrack --ctstate NEW -j CONNMARK --set-mark 100

iptables -t mangle -I PREROUTING -i eth2 -d 网通IP -m conntrack --ctstate NEW -j CONNMARK --set-mark 200

iptables -t mangle -I PREROUTING -i eth0 --sport 80 -m conntrack --ctstate ESTABLISHED,RELATED -j CONNMARK --restore-mark

不知哪里有问题,请高人出来指点下~~~ 谢谢!

论坛徽章:
0
4 [报告]
发表于 2008-07-21 11:54 |只看该作者

贴个在实际运行的脚本,只隐去了IP、网关信息,供参考。

基本符合楼主的思路。

ifconfig eth0 电信IP1 netmask 255.255.255.248
ifconfig eth0:0 电信IP2 netmask 255.255.255.255
ifconfig eth0:1 电信IP3 netmask 255.255.255.255
ifconfig eth0:2 电信IP4 netmask 255.255.255.255
ifconfig eth0:3 电信IP5 netmask 255.255.255.255
ifconfig eth1 网通IP1 netmask 255.255.255.248
ifconfig eth1:0 网通IP2 netmask 255.255.255.255
ifconfig eth1:1 网通IP3 netmask 255.255.255.255
ifconfig eth1:2 网通IP4 netmask 255.255.255.255
ifconfig eth1:3 网通IP5 netmask 255.255.255.255
ifconfig eth2 内网IP netmask 255.255.255.0
ifconfig eth3 停火区IP netmask 255.255.255.0

modprobe ip_nat_ftp
insmod ip_conntrack_ftp

echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1048576 > /proc/sys/net/ipv4/ip_conntrack_max
echo 600 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established


ip route add default via 电信局端IP table ctc
ip route add default via 网通局端IP table cnc
route add default gw 电信局端IP

route add -net 58.16.0.0/14 gw 网通局端IP
route add -net 58.21.0.0/16 gw 网通局端IP
route add -net 58.22.0.0/15 gw 网通局端IP
route add -net 58.100.0.0/16 gw 网通局端IP
route add -net 58.144.0.0/16 gw 网通局端IP
route add -net 58.240.0.0/15 gw 网通局端IP
route add -net 58.244.0.0/14 gw 网通局端IP
route add -net 58.248.0.0/13 gw 网通局端IP
route add -net 60.0.0.0/13 gw 网通局端IP
route add -net 60.8.0.0/15 gw 网通局端IP
route add -net 60.13.0.0/16 gw 网通局端IP
route add -net 60.14.0.0/15 gw 网通局端IP
route add -net 60.16.0.0/13 gw 网通局端IP
route add -net 60.24.0.0/14 gw 网通局端IP
route add -net 60.31.0.0/16 gw 网通局端IP
route add -net 60.218.0.0/15 gw 网通局端IP
route add -net 60.220.0.0/14 gw 网通局端IP
route add -net 61.48.0.0/13 gw 网通局端IP
route add -net 61.133.0.0/17 gw 网通局端IP
route add -net 61.134.128.0/17 gw 网通局端IP
route add -net 61.135.0.0/16 gw 网通局端IP
route add -net 61.136.64.0/18 gw 网通局端IP
route add -net 61.137.128.0/17 gw 网通局端IP
route add -net 61.138.0.0/16 gw 网通局端IP
route add -net 61.139.128.0/18 gw 网通局端IP
route add -net 61.148.0.0/15 gw 网通局端IP
route add -net 61.156.0.0/16 gw 网通局端IP
route add -net 61.158.0.0/16 gw 网通局端IP
route add -net 61.159.0.0/18 gw 网通局端IP
route add -net 61.161.0.0/18 gw 网通局端IP
route add -net 61.161.128.0/17 gw 网通局端IP
route add -net 61.162.0.0/15 gw 网通局端IP
route add -net 61.167.0.0/16 gw 网通局端IP
route add -net 61.168.0.0/16 gw 网通局端IP
route add -net 61.176.0.0/16 gw 网通局端IP
route add -net 61.179.0.0/16 gw 网通局端IP
route add -net 61.181.0.0/16 gw 网通局端IP
route add -net 61.182.0.0/16 gw 网通局端IP
route add -net 61.189.0.0/17 gw 网通局端IP
route add -net 116.2.0.0/15 gw 网通局端IP
route add -net 116.95.0.0/16 gw 网通局端IP
route add -net 116.112.0.0/14 gw 网通局端IP
route add -net 116.116.0.0/15 gw 网通局端IP
route add -net 117.8.0.0/13 gw 网通局端IP
route add -net 118.72.0.0/13 gw 网通局端IP
route add -net 118.80.0.0/15 gw 网通局端IP
route add -net 118.212.0.0/16 gw 网通局端IP
route add -net 119.4.0.0/14 gw 网通局端IP
route add -net 119.36.0.0/16 gw 网通局端IP
route add -net 119.39.0.0/16 gw 网通局端IP
route add -net 119.48.0.0/13 gw 网通局端IP
route add -net 121.16.0.0/13 gw 网通局端IP
route add -net 121.24.0.0/14 gw 网通局端IP
route add -net 121.28.0.0/15 gw 网通局端IP
route add -net 121.31.0.0/16 gw 网通局端IP
route add -net 122.96.0.0/15 gw 网通局端IP
route add -net 122.136.0.0/13 gw 网通局端IP
route add -net 122.156.0.0/14 gw 网通局端IP
route add -net 122.192.0.0/14 gw 网通局端IP
route add -net 123.4.0.0/14 gw 网通局端IP
route add -net 123.8.0.0/13 gw 网通局端IP
route add -net 123.112.0.0/12 gw 网通局端IP
route add -net 123.128.0.0/13 gw 网通局端IP
route add -net 123.138.0.0/15 gw 网通局端IP
route add -net 123.144.0.0/14 gw 网通局端IP
route add -net 123.148.0.0/16 gw 网通局端IP
route add -net 123.152.0.0/13 gw 网通局端IP
route add -net 123.188.0.0/14 gw 网通局端IP
route add -net 123.232.0.0/14 gw 网通局端IP
route add -net 124.64.0.0/15 gw 网通局端IP
route add -net 124.66.0.0/17 gw 网通局端IP
route add -net 124.67.0.0/16 gw 网通局端IP
route add -net 124.88.0.0/16 gw 网通局端IP
route add -net 124.89.0.0/17 gw 网通局端IP
route add -net 124.89.128.0/17 gw 网通局端IP
route add -net 124.90.0.0/15 gw 网通局端IP
route add -net 124.92.0.0/14 gw 网通局端IP
route add -net 124.160.0.0/16 gw 网通局端IP
route add -net 124.161.0.0/16 gw 网通局端IP
route add -net 124.162.0.0/16 gw 网通局端IP
route add -net 124.163.0.0/16 gw 网通局端IP
route add -net 124.164.0.0/14 gw 网通局端IP
route add -net 125.32.0.0/16 gw 网通局端IP
route add -net 125.33.0.0/16 gw 网通局端IP
route add -net 125.34.0.0/16 gw 网通局端IP
route add -net 125.35.128.0/17 gw 网通局端IP
route add -net 125.36.0.0/14 gw 网通局端IP
route add -net 125.40.0.0/13 gw 网通局端IP
route add -net 125.211.0.0/16 gw 网通局端IP
route add -net 202.38.143.0/24 gw 网通局端IP
route add -net 202.96.0.0/18 gw 网通局端IP
route add -net 202.96.64.0/21 gw 网通局端IP
route add -net 202.96.72.0/21 gw 网通局端IP
route add -net 202.97.128.0/18 gw 网通局端IP
route add -net 202.97.192.0/19 gw 网通局端IP
route add -net 202.97.224.0/21 gw 网通局端IP
route add -net 202.97.240.0/20 gw 网通局端IP
route add -net 202.98.0.0/21 gw 网通局端IP
route add -net 202.98.8.0/21 gw 网通局端IP
route add -net 202.99.64.0/19 gw 网通局端IP
route add -net 202.99.96.0/21 gw 网通局端IP
route add -net 202.99.128.0/19 gw 网通局端IP
route add -net 202.99.160.0/21 gw 网通局端IP
route add -net 202.99.168.0/21 gw 网通局端IP
route add -net 202.99.176.0/20 gw 网通局端IP
route add -net 202.99.208.0/20 gw 网通局端IP
route add -net 202.99.224.0/21 gw 网通局端IP
route add -net 202.99.232.0/21 gw 网通局端IP
route add -net 202.99.240.0/20 gw 网通局端IP
route add -net 202.102.128.0/21 gw 网通局端IP
route add -net 202.102.224.0/21 gw 网通局端IP
route add -net 202.102.232.0/21 gw 网通局端IP
route add -net 202.106.0.0/16 gw 网通局端IP
route add -net 202.107.0.0/17 gw 网通局端IP
route add -net 202.108.0.0/16 gw 网通局端IP
route add -net 202.110.0.0/18 gw 网通局端IP
route add -net 202.110.64.0/18 gw 网通局端IP
route add -net 202.111.128.0/19 gw 网通局端IP
route add -net 203.93.8.0/24 gw 网通局端IP
route add -net 203.93.192.0/18 gw 网通局端IP
route add -net 210.13.0.0/18 gw 网通局端IP
route add -net 210.13.64.0/18 gw 网通局端IP
route add -net 210.13.128.0/17 gw 网通局端IP
route add -net 210.14.160.0/19 gw 网通局端IP
route add -net 210.14.192.0/19 gw 网通局端IP
route add -net 210.15.32.0/19 gw 网通局端IP
route add -net 210.15.96.0/19 gw 网通局端IP
route add -net 210.15.128.0/18 gw 网通局端IP
route add -net 210.21.0.0/17 gw 网通局端IP
route add -net 210.51.0.0/16 gw 网通局端IP
route add -net 210.52.128.0/17 gw 网通局端IP
route add -net 210.53.0.0/17 gw 网通局端IP
route add -net 210.53.128.0/17 gw 网通局端IP
route add -net 210.82.0.0/15 gw 网通局端IP
route add -net 218.8.0.0/15 gw 网通局端IP
route add -net 218.10.0.0/16 gw 网通局端IP
route add -net 218.11.0.0/16 gw 网通局端IP
route add -net 218.12.0.0/16 gw 网通局端IP
route add -net 218.21.128.0/17 gw 网通局端IP
route add -net 218.24.0.0/15 gw 网通局端IP
route add -net 218.27.0.0/16 gw 网通局端IP
route add -net 218.56.0.0/14 gw 网通局端IP
route add -net 218.60.0.0/14 gw 网通局端IP
route add -net 218.67.128.0/17 gw 网通局端IP
route add -net 218.104.0.0/14 gw 网通局端IP
route add -net 218.108.0.0/16 gw 网通局端IP
route add -net 219.82.0.0/16 gw 网通局端IP
route add -net 219.154.0.0/15 gw 网通局端IP
route add -net 219.156.0.0/14 gw 网通局端IP
route add -net 220.252.0.0/16 gw 网通局端IP
route add -net 221.0.0.0/13 gw 网通局端IP
route add -net 221.10.0.0/16 gw 网通局端IP
route add -net 221.11.0.0/17 gw 网通局端IP
route add -net 221.11.128.0/18 gw 网通局端IP
route add -net 221.11.224.0/19 gw 网通局端IP
route add -net 221.12.0.0/17 gw 网通局端IP
route add -net 221.12.128.0/18 gw 网通局端IP
route add -net 221.13.0.0/18 gw 网通局端IP
route add -net 221.13.64.0/19 gw 网通局端IP
route add -net 221.13.128.0/17 gw 网通局端IP
route add -net 221.14.0.0/15 gw 网通局端IP
route add -net 221.192.0.0/13 gw 网通局端IP
route add -net 221.200.0.0/13 gw 网通局端IP
route add -net 221.204.0.0/14 gw 网通局端IP
route add -net 221.212.0.0/15 gw 网通局端IP
route add -net 221.216.0.0/13 gw 网通局端IP
route add -net 222.128.0.0/14 gw 网通局端IP
route add -net 222.132.0.0/14 gw 网通局端IP
route add -net 222.136.0.0/13 gw 网通局端IP
route add -net 222.160.0.0/15 gw 网通局端IP
route add -net 222.162.0.0/16 gw 网通局端IP
route add -net 222.163.0.0/17 gw 网通局端IP


iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 电信IP4
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 网通IP1

iptables -t nat -A PREROUTING -d 电信IP1 -i eth+ -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.0.90:80
iptables -t nat -A PREROUTING -d 电信IP1 -i eth+ -p tcp -m tcp --dport 20 -j DNAT --to-destination 172.16.0.92:20
iptables -t nat -A PREROUTING -d 电信IP1 -i eth+ -p tcp -m tcp --dport 21 -j DNAT --to-destination 172.16.0.92:21
iptables -t nat -A PREROUTING -d 电信IP1 -i eth+ -p tcp -m tcp --dport 81 -j DNAT --to-destination 139.1.1.119:4899
#iptables -t nat -A PREROUTING -d 电信IP2 -i eth+ -p tcp -m tcp --dport 22 -j DNAT --to-destination 172.16.0.91:22
iptables -t nat -A PREROUTING -d 电信IP2 -i eth+ -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.0.91:80
iptables -t nat -A PREROUTING -d 电信IP3 -i eth+ -p tcp -m tcp --dport 20 -j DNAT --to-destination 172.16.0.92
iptables -t nat -A PREROUTING -d 电信IP3 -i eth+ -p tcp -m tcp --dport 21 -j DNAT --to-destination 172.16.0.92:21
iptables -t nat -A PREROUTING -d 电信IP3 -i eth+ -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.0.92:80  
iptables -t nat -A PREROUTING -d 电信IP4 -i eth+ -p tcp -m tcp --dport 3081 -j DNAT --to-destination 172.16.0.201:80
iptables -t nat -A PREROUTING -d 电信IP4 -i eth+ -p tcp -m tcp --dport 3082 -j DNAT --to-destination 172.16.0.202:80
iptables -t nat -A PREROUTING -d 电信IP4 -i eth+ -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.0.2:80
iptables -t nat -A PREROUTING -d 电信IP4 -i eth+ -p tcp -m tcp --dport 4899 -j DNAT --to-destination 139.1.1.20:4899
iptables -t nat -A PREROUTING -d 电信IP4 -i eth+ -p tcp -m tcp --dport 8899 -j DNAT --to-destination 139.1.1.77:8899
iptables -t nat -A PREROUTING -d 电信IP4 -i eth+ -p tcp -m tcp --dport 3389 -j DNAT --to-destination 139.1.1.150:3389
iptables -t nat -A PREROUTING -d 电信IP4 -i eth+ -p tcp -m tcp --dport 5631 -j DNAT --to-destination 172.16.0.2:5631
iptables -t nat -A PREROUTING -d 电信IP4 -i eth+ -p tcp -m tcp --dport 5632 -j DNAT --to-destination 172.16.0.2:5632
iptables -t nat -A PREROUTING -d 电信IP4 -i eth+ -p tcp -m tcp --dport 3022 -j DNAT --to-destination 172.16.0.203:3022
iptables -t nat -A PREROUTING -d 电信IP4 -i eth+ -p tcp -m tcp --dport 3080 -j DNAT --to-destination 172.16.0.203:3080
iptables -t nat -A PREROUTING -d 电信IP4 -i eth+ -p tcp -m tcp --dport 3333 -j DNAT --to-destination 172.16.0.203:3333
iptables -t nat -A PREROUTING -d 电信IP5 -i eth+ -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.0.94:80
iptables -t nat -A PREROUTING -d 电信IP5 -i eth+ -p tcp -m tcp --dport 25 -j DNAT --to-destination 172.16.0.94:25
iptables -t nat -A PREROUTING -d 电信IP5 -i eth+ -p tcp -m tcp --dport 110 -j DNAT --to-destination 172.16.0.94:110
iptables -t nat -A PREROUTING -d 电信IP5 -i eth+ -p tcp -m tcp --dport 143 -j DNAT --to-destination 172.16.0.94:143
iptables -t nat -A PREROUTING -d 网通IP1 -i eth+ -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.0.90:80
iptables -t nat -A PREROUTING -d 网通IP1 -i eth+ -p tcp -m tcp --dport 4899 -j DNAT --to-destination 139.1.1.20:4899
iptables -t nat -A PREROUTING -d 网通IP1 -i eth+ -p tcp -m tcp --dport 8899 -j DNAT --to-destination 139.1.1.77:8899
iptables -t nat -A PREROUTING -d 网通IP2 -i eth+ -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.0.91:80
iptables -t nat -A PREROUTING -d 网通IP2 -i eth+ -p tcp -m tcp --dport 20 -j DNAT --to-destination 172.16.0.92
iptables -t nat -A PREROUTING -d 网通IP2 -i eth+ -p tcp -m tcp --dport 21 -j DNAT --to-destination 172.16.0.92:21
iptables -t nat -A PREROUTING -d 网通IP2 -i eth+ -p tcp -m tcp --dport 3080 -j DNAT --to-destination 172.16.0.203:3080
iptables -t nat -A PREROUTING -d 电信IP4 -i eth+ -p tcp -m tcp --dport 3333 -j DNAT --to-destination 172.16.0.203:3333
iptables -t nat -A PREROUTING -d 网通IP2 -i eth+ -p tcp -m tcp --dport 3081 -j DNAT --to-destination 172.16.0.201:80
iptables -t nat -A PREROUTING -d 网通IP2 -i eth+ -p tcp -m tcp --dport 3082 -j DNAT --to-destination 172.16.0.202:80
iptables -t nat -A PREROUTING -d 网通IP3 -i eth+ -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.0.3:80
iptables -t nat -A PREROUTING -d 网通IP3 -i eth+ -p tcp -m tcp --dport 5631 -j DNAT --to-destination 172.16.0.3:5631
iptables -t nat -A PREROUTING -d 网通IP3 -i eth+ -p tcp -m tcp --dport 5632 -j DNAT --to-destination 172.16.0.3:5632

iptables -t nat -A PREROUTING -d 网通IP3 -i eth+ -p tcp -m tcp --dport 2501:2600 -j DNAT --to-destination 172.16.0.3
iptables -t nat -A PREROUTING -d 网通IP4 -i eth+ -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.0.94:80
iptables -t nat -A PREROUTING -d 网通IP4 -i eth+ -p tcp -m tcp --dport 25 -j DNAT --to-destination 172.16.0.94:25
iptables -t nat -A PREROUTING -d 网通IP4 -i eth+ -p tcp -m tcp --dport 110 -j DNAT --to-destination 172.16.0.94:110
iptables -t nat -A PREROUTING -d 网通IP4 -i eth+ -p tcp -m tcp --dport 443 -j DNAT --to-destination 172.16.0.94:443
iptables -t nat -A PREROUTING -d 网通IP5 -i eth+ -p tcp -m tcp --dport 20 -j DNAT --to-destination 172.16.0.92
iptables -t nat -A PREROUTING -d 网通IP5 -i eth+ -p tcp -m tcp --dport 21 -j DNAT --to-destination 172.16.0.92:21
iptables -t nat -A PREROUTING -d 网通IP5 -i eth+ -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.0.92:80
iptables -t nat -A PREROUTING -d 电信IP2 -i eth+ -p tcp -m tcp --dport 3389 -j DNAT --to-destination 139.1.1.41:3389

iptables -A INPUT -i eth0 -d 电信网段/29 -p icmp -j DROP
iptables -A INPUT -i eth1 -d 网通网段/29 -p icmp -j DROP

ip rule add fwmark 1 table ctc
ip rule add fwmark 2 table cnc
iptables -t mangle -A PREROUTING -i eth0 -m conntrack --ctstate NEW  -j CONNMARK --set-mark 0x1
iptables -t mangle -A PREROUTING -i eth1 -m conntrack --ctstate NEW  -j CONNMARK --set-mark 0x2
iptables -t mangle -A POSTROUTING -o eth0 -m conntrack  --ctstate NEW  -j CONNMARK --set-mark 0x1
iptables -t mangle -A POSTROUTING -o eth1 -m conntrack  --ctstate NEW  -j CONNMARK --set-mark 0x2
iptables -t mangle -A PREROUTING -i eth2 -m conntrack --ctstate ESTABLISHED,RELATED -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -i eth3 -m conntrack --ctstate ESTABLISHED,RELATED -j CONNMARK --restore-mark
iptables -t mangle -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j CONNMARK --restore-mark



另外还需要修改/etc/iproute2/rt_tables
增加下列两行
243     ctc
242     cnc

[ 本帖最后由 在风中飘荡 于 2008-7-21 11:59 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2008-07-21 12:59 |只看该作者
感谢 在风中飘荡 提供的脚本,偶也试过了,还是不行。

网通用户不能通过电信IP访问映射后的机器,但可以访问到服务器
电信用户不能通过网通IP访问映射后的机器,但可以访问到服务器

不知 在风中飘荡 有没有这样试过啊?

论坛徽章:
0
6 [报告]
发表于 2008-07-21 13:37 |只看该作者
上述脚本,跑了一段时间了,运行的一直很正常,电信地址可以停火区里的服务器(不论电信还是网通),网通地址也访问停火区里的服务器(不论网通还是电信),都没问题的。

论坛徽章:
0
7 [报告]
发表于 2008-07-21 17:17 |只看该作者
还是不行,用你的脚本测试过了一样。

通过网通IP访问时,不能通过电信IP访问,但是在服务器上运行 ip route flush cache 后,可以通过电信IP访问了,但是通过网通IP又不能访问了,再运行下 ip route flush cache,又可以通过网通I访问了,但又不能通过电信IP访问,真是怪事~~~

如果写一个脚本每隔一秒钟不停地  ip route flush cache,似乎可以解决问题,但是这样也太BT了点,还是希望能找到问题根本所在

不知 在风中飘荡 有没有做其他方面的参数调整,比如 sysctl.conf

[ 本帖最后由 coolend 于 2008-7-21 17:19 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2008-07-22 09:44 |只看该作者
原帖由 coolend 于 2008-7-21 17:17 发表
还是不行,用你的脚本测试过了一样。

通过网通IP访问时,不能通过电信IP访问,但是在服务器上运行 ip route flush cache 后,可以通过电信IP访问了,但是通过网通IP又不能访问了,再运行下 ip route flush c ...



你需要给kernel打个补丁,然后在kernel中disable route cache

在这儿:http://www.ssi.bg/~ja/#routes

在这个子项中"Static, Alternative Routes, Dead Gateway Detection, NAT"找相应的patch

论坛徽章:
0
9 [报告]
发表于 2008-07-22 10:48 |只看该作者
非常感谢 kevin.tan 提供的信息,上面的route补丁偶其实已经打了,但是没有取消掉

IP: equal cost multipath with caching support (EXPERIMENTAL)

现在重新编译下内核,看看有没有问题~~~~

论坛徽章:
0
10 [报告]
发表于 2008-07-22 11:25 |只看该作者
原帖由 coolend 于 2008-7-22 10:48 发表
非常感谢 kevin.tan 提供的信息,上面的route补丁偶其实已经打了,但是没有取消掉

IP: equal cost multipath with caching support (EXPERIMENTAL)

现在重新编译下内核,看看有没有问题~~~~



等你的好消息,偶是一下没有环境测试
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP