Creed
V2EX  ›  问与答

策略路由 iproute2+纯 ip 和 iptables+ipset 有区别?

  •  
  •   Creed · Jan 11, 2015 · 7808 views
    This topic created in 4161 days ago, the information mentioned may be changed or developed.
    tomato的路由器上用iptables+dnsmasq自动给指定域名解析得到的IP打上fwmark,然后配合ip rule 匹配相应的路由表,但是问题来了:

    VPN客户端拨号后建立了MASQUERADE

    1:这个方案是纯手动操作的:成功。
    VPN拨号后,
    ip rule add to xxx.xxx.xxx.xxx table 100
    ip route add default dev $vpn_dev table 100
    ip route flush cache

    xxx换成twitter的ip,访问成功。

    2:这个方案不管手动还是自动都失败:
    VPN拨号时候自动添加路由规则
    ip route add default dev $vpn_dev table 100

    ip rule,iptables和ipset命令都是路由开机就自动执行。

    dnsmasq里面设置ipset=/twitter.com/vpn和server=/twitter.com/127.0.0.1#dnscrypt_port

    tracert twitter.com的结果从vpn客户端IP节点之后全部无响应,直到30跳结束。
    ping twitter.com无响应。
    twitter页面无法访问。


    两种方案对比了iptables 规则除了后者多了MARK,其余无差别。但是后者估计被路由丢包了,但是想不通为啥会这样。

    求指教。
    2 replies    2015-02-28 11:27:46 +08:00
    efi
        1
    efi  
       Jan 11, 2015
    iptables不用设计用来做路由的,路由的问题不要往这方面想。
    squallvivi
        2
    squallvivi  
       Feb 28, 2015
    前些日子也用openwrt倒腾策略路由,一开始也碰到同样的问题,后来发现IP打fwmark分流的命令要放在ip route,ip rule规则之后才奏效
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1230 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 17:36 · PVG 01:36 · LAX 10:36 · JFK 13:36
    ♥ Do have faith in what you're doing.