免费注册 查看新帖 |

Chinaunix

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

[网络管理] (原创)网通电信目标地址策略路由完整配置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-06-16 08:01 |只看该作者 |倒序浏览
  呵呵,本来是向大家承诺了说2005年多写些文章的,可是,2005年都没有做技术,呵呵,所以只在年初写了个关于通过iptables与iproute2协同实现根据应用的策略路由的帖子。
    不过我还是一句老话,我发的帖子,只求大家能用得上,能解决问题。然后语言尽量平实易懂。
    我们公司最近在北方市场发展很快,在北方碰到一个南方不是很迫切的问题,就是北方的用户往往需要在网通和电信之间做策略路由,其实,这并不是个什么很复杂的技术问题,很简单的一个目标地址策略就可以解决的很好,当然还可以有很多种解决方法,上次看到有朋友用iptables来实现,我想效率肯定不高吧 ,呵呵,个人猜测而已。
    我找朋友收集了一份很完整的网通全国IP子网的分配表,自己拿计算器把点分十进制的子网掩码转换计算成unix的位表示方式,呵呵,算死我了,其实通过程序很容易实现,这是后来偶门公司程序员跟我说的,呵呵,比较佩服程序员。
    实现方式是这样,三块网卡,eth0 为LAN口,eth1 为第一个WAN口,接电信线路,eth2为第二个WAN口,接网通线路。我这里都是按照固定IP方式配置的,如果是要PPPOE则自己配置PPPOE部分,我这里主要是给大家提供策略部分。
    将从两个WAN口出去的数据包MASQUERADE
     /sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
     /sbin/iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
      
      然后,给系统增加一个标示为100的路由表,增加一个默认网关,这个默认网关是网通提供的网关。呵呵,为什么我的帖子里的多路由表总用100呢,呵呵。
    ip route add 0/0 via 218.59.*.* table 100
      然后给系统主路由表配置网关,这个网关是电信的网关
    ip route add 0/0 via 219.146.*.*
      然后添加路由规则,让所有通向网通的数据查询标示为100的路由表:
    ip rule add to 60.0.0.0/13 table 100
      ip rule add to 60.8.0.0/15 table 100
      ip rule add to 60.10.0.0/16 table 100
      ..........
      规则比较多,大概有100多条,应该是完整的包括了网通的所有IP子网,我会给出完整规则。
    这样,通向网通的数据会查询路由表100,而通向其他的地方的数据,这里指定电信,则会通向电信。当然,如果有更复杂的应用,譬如还有教育网的线路,我相信大家也知道怎么做了,再增加路由表,再增加策略就可以了。
    这个配置方式给北方的朋友使用了,觉得效果很好,我希望对大家也有帮助。要注意的是,在配置网卡的时候,先不要配置网关,不要使用老的ifconfig命令来配置网关,而要使用iproute2来配置网关,否则会造成冲突,或者 使用 ip route replace  命令来替换 ip route add 命令。
     整个配置文件如下:(并没有包括端口过滤的配置,大家根据需要自己配置)居然附件只能上传jpg和 gif 呵呵,我把脚本后缀加了个.jpg ,通过右键属性,把文件下下来,自己改回来吧。
#For ChinaUnix  By   Fushuyong,Wuhan
#!/bin/sh
echo "1" >; /proc/sys/net/ipv4/ip_forward
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp

#NAT the two red interface
/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE

#Add a route table name 100 for CNC addresses
ip route add 0/0 via 219.146.*.*
ip route add 0/0 via 218.59.*.* table 100

#Add the route rules for the  CNC addresses
ip rule add to 60.0.0.0/13 table 100
ip rule add to 60.8.0.0/15 table 100
ip rule add to 60.10.0.0/16 table 100
ip rule add to 60.12.0.0/16 table 100
ip rule add to 60.13.0.0/18 table 100
ip rule add to 60.13.128.0/17 table 100
ip rule add to 60.16.0.0/12 table 100
ip rule add to 60.208.0.0/13 table 100
ip rule add to 60.216.0.0/15 table 100
ip rule add to 60.220.0.0/14 table 100
ip rule add to 61.48.0.0/13 table 100
ip rule add to 61.133.0.0/17 table 100
ip rule add to 61.135.0.0/16 table 100
ip rule add to 61.136.64.0/18 table 100
ip rule add to 61.137.128.0/17 table 100
ip rule add to 61.138.0.0/17 table 100
ip rule add to 61.138.128.0/18 table 100
ip rule add to 61.139.128.0/18 table 100
ip rule add to 61.148.0.0/15 table 100
ip rule add to 61.156.0.0/16 table 100
ip rule add to 61.158.128.0/17 table 100
ip rule add to 61.159.0.0/18 table 100
ip rule add to 61.161.0.0/18 table 100
ip rule add to 61.161.128.0/17 table 100
ip rule add to 61.167.0.0/16 table 100
ip rule add to 61.168.0.0/16 table 100
ip rule add to 61.176.0.0/16 table 100
ip rule add to 61.179.0.0/16 table 100
ip rule add to 61.180.128.0/17 table 100
ip rule add to 61.181.0.0/16 table 100
ip rule add to 61.182.0.0/16 table 100
ip rule add to 61.189.0.0/17 table 100
ip rule add to 202.96.0.0/18 table 100
ip rule add to 202.96.64.0/19 table 100
ip rule add to 202.97.128.0/17 table 100
ip rule add to 202.98.0.0/19 table 100
ip rule add to 202.99.0.0/16 table 100
ip rule add to 202.102.128.0/18 table 100
ip rule add to 202.102.224.0/19 table 100
ip rule add to 202.106.0.0/16 table 100
ip rule add to 202.107.0.0/17 table 100
ip rule add to 202.108.0.0/16 table 100
ip rule add to 202.110.0.0/17 table 100
ip rule add to 202.110.192.0/18 table 100
ip rule add to 202.111.128.0/18 table 100
ip rule add to 218.7.0.0/16 table 100
ip rule add to 218.8.0.0/14 table 100
ip rule add to 218.12.0.0/16 table 100
ip rule add to 218.24.0.0/14 table 100
ip rule add to 218.28.0.0/15 table 100
ip rule add to 218.56.0.0/14 table 100
ip rule add to 218.60.0.0/15 table 100
ip rule add to 218.67.128.0/17 table 100
ip rule add to 218.68.0.0/15 table 100
ip rule add to 221.0.0.0/14 table 100
ip rule add to 221.4.0.0/15 table 100
ip rule add to 221.6.0.0/16 table 100
ip rule add to 221.7.0.0/18 table 100
ip rule add to 221.7.64.0/19 table 100
ip rule add to 221.7.128.0/17 table 100
ip rule add to 221.8.0.0/15 table 100
ip rule add to 221.10.0.0/16 table 100
ip rule add to 221.11.128.0/18 table 100
ip rule add to 221.11.0.0/17 table 100
ip rule add to 221.11.192.0/19 table 100
ip rule add to 221.12.0.0/17 table 100
ip rule add to 221.12.128.0/18 table 100
ip rule add to 221.13.0.0/18 table 100
ip rule add to 221.13.64.0/19 table 100
ip rule add to 221.13.128.0/17 table 100
ip rule add to 221.14.0.0/15 table 100
ip rule add to 221.192.0.0/14 table 100
ip rule add to 221.196.0.0/15 table 100
ip rule add to 221.198.0.0/16 table 100
ip rule add to 221.199.0.0/19 table 100
ip rule add to 221.199.32.0/20 table 100
ip rule add to 221.199.128.0/18 table 100
ip rule add to 221.199.192.0/20 table 100
ip rule add to 221.200.0.0/14 table 100
ip rule add to 221.204.0.0/15 table 100
ip rule add to 221.207.0.0/18 table 100
ip rule add to 221.208.0.0/14 table 100
ip rule add to 221.212.0.0/15 table 100
ip rule add to 221.216.0.0/13 table 100
ip rule add to 222.128.0.0/12 table 100
ip rule add to 222.160.0.0/15 table 100
ip rule add to 222.162.0.0/16 table 100
ip rule add to 222.163.0.0/19 table 100

ruleroute.jpg

3.85 KB, 下载次数: 1867

论坛徽章:
0
2 [报告]
发表于 2005-06-16 08:21 |只看该作者

(原创)网通电信目标地址策略路由完整配置

虽然可以实现,但是复杂了,不用 ip 命令创建特殊路由表也可
你只需考虑 2 个步骤即可
1、让到目的地址的路由走指定网卡的指定网关
2、让到那个地址的数据包原地址伪装成相应网卡的外网地址

论坛徽章:
0
3 [报告]
发表于 2005-06-16 08:55 |只看该作者

(原创)网通电信目标地址策略路由完整配置

我现在也一个网关接了电信、网通的网络
我现在想问一下:系统是DEBIAN
我们接的是电信的ADSL网络,主要用作我们内部的工作子网。
网通只用作网关上某些特定服务。
网关上只有两块网卡。
现在那个电信的ADSL路由该怎么配置,内部子网该怎么转向电信ADSL的网络

论坛徽章:
0
4 [报告]
发表于 2005-06-16 09:09 |只看该作者

(原创)网通电信目标地址策略路由完整配置

很好的分享精神,值得赞.
另请问这个网通的ip是较齐全的吗?一直找了很久,真是感谢.

这个方法已经够简单了,platinum说是复杂了,能否分享一下更简单的方法?谢谢

论坛徽章:
0
5 [报告]
发表于 2005-06-16 09:43 |只看该作者

(原创)网通电信目标地址策略路由完整配置

这样试试?
1、打开随机转发
iptables -t nat -A POSTROUTING -s LAN -j MASQUERADE

2、设置默认路由地址
ip route replace default dev 网卡1

3、添加特殊路由
ip route add x.x.x.x/xx dev 网卡2

^_^

论坛徽章:
0
6 [报告]
发表于 2005-06-16 10:34 |只看该作者

(原创)网通电信目标地址策略路由完整配置

呵呵,方法很多种,我这种恐怕是思路比较清晰的,最有价值的怕就是策略部分而不是方法本身,策略应该是很全的,是全国网通的IP子网都有的!

论坛徽章:
0
7 [报告]
发表于 2005-06-16 10:41 |只看该作者

(原创)网通电信目标地址策略路由完整配置

/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
思路倒是很清楚,不过上面这样写有点多此一举啦

论坛徽章:
0
8 [报告]
发表于 2005-06-17 15:05 |只看该作者

(原创)网通电信目标地址策略路由完整配置

IP表不全,还差很多,例如218.104.0.0/14 是南京网通IP!

论坛徽章:
0
9 [报告]
发表于 2005-06-17 16:08 |只看该作者

(原创)网通电信目标地址策略路由完整配置

也像楼主一样给一个完整的脚本和IP子网段。以便有更多的人测试脚本的成熟程度。每个人都是作完了就走人。有违LINUX的精神。

论坛徽章:
0
10 [报告]
发表于 2005-06-17 16:09 |只看该作者

(原创)网通电信目标地址策略路由完整配置

其实完善IP表是关键,哪位有经验的补充一下这个表
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP