城市里的游牧民族

Menu

一个DNS和策略路由问题

好久没有更新博客了,访问量自从上次换了固定链接之后少了好多。悲剧啊!

切入正题:今天在遇到一个小问题,先说组网环境,客户这边有一台H3C路由器作为出口,两条线路电信和移动,原来组网是客户内部用户全部走电信出去,现在客户要求将192.168.100.0/24网段的用户走移动出去。客户组网中采用静态配置ip地址。客户的PC电脑里面的DNS为电信DNS。

通过策略路由来实现
1、定义ACL
acl number 3000
rule 0 permit ip source 192.168.100.0 0.0.0.255

2、定义策略路由:policy-based-route
policy-based-route 100 permit node 10
if-match acl 3000
apply ip-address next-hop 100.100.100.100(假设改ip为移动所分配的地址段的默认网关)

3、接口上做NAT以及策略路由应用
在H3C路由器内连口上面应用,我这样假设该接口为G0/0/0
interface g0/0/0
ip address 192.168.1.1 255.255.255.0
nat outbound 3000
ip policy-based-route 100

应用之后发现一个问题就是192.168.100.0网段的用户没有办法正常浏览网页,能PING通ip地址,但是没有办法通过浏览器打开百度等网页,更换了PC的dns问题解决。但是客户说有很多客户端问我能不能弄下不换PC的DNS也能上网(客户对192.168.100.0段要求能上网就行,客户也没有要求去做DHCP SERVER,因为做这个还是要去用户网段一个一个改)

这里电信的DNS为
61.178.0.93
202.100.64.68

我在出口路由器上带上移动的源地址(假设100.100.100.101为移动分配的ip地址100.100.100.100为网关)
ping -a 100.100.100.101 61.178.0.93
ping -a 100.100.100.101 202.100.64.68
ping这两个DNS地址都不通

策略路由定义的是满足acl number 3000源地址的就从移动出去
DNS在进行域名解析的时候源地址是192.168.100.0网段的,目的地址是电信DNS地址,所以匹配ACL 走移动出去,但是移动那边ping不通这两个DNS地址所以解析失败,浏览不了网页。

那么现在如何在不变更PC的DNS下让PC正常上网呢,
经过进一步测试,我们先假设电信ip地址段是10.10.10.11为电信分配ip地址,10.10.10.10为网关。
我在出口路由器上,通过ping 带电信源地址
ping -a 10.10.10.11 61.178.0.93
ping -a 10.10.10.11 202.100.64.68
是正常通的,这个是肯定的

我们在定义策略路由的时候,先定义一个目标地址的策略,让去往电信的两个DNS地址的ip还是从原来的电信接口出去就应该没有问题了,所以修改原来的策略路由如下
acl number 3001
rule 0 permit ip  destination 61.178.0.93 0
rule 0 permit ip  destination 202.100.64.68 0

policy-based-route 100 permit node 5
if-match acl 3001
apply ip-address next-hop 10.10.10.10

policy-based-route 100 permit node 10
if-match acl 3000
apply ip-address next-hop 100.100.100.100

注意,在电信的出接口做NAT的时候也要加上192.168.100.0网段,

到此客户需要正常。

— 于 共写了1548个字
— 文内使用到的标签:
本作品采用知识共享署名-非商业性使用-禁止演绎 3.0 中国大陆许可协议进行许可。

2条回应:“一个DNS和策略路由问题”

  1. 死亡之鹰说道:

    你这评论框有点小问题