【问题标题】:Replace each host route with ipset+mark and one route将每个主机路由替换为 ipset+mark 和一个路由
【发布时间】:2018-06-21 14:58:55
【问题描述】:

我需要通过特定连接路由大量 IP。我想为此目的使用 IPSET,而不是为每个 IP 添加一个路由。 我正在尝试在machine1 上运行以下示例:

ipset create TEST hash:net
ipset add TEST 8.8.8.8
ipset test TEST 8.8.8.8
#8.8.8.8 is in set TEST.
iptables -I OUTPUT -t mangle -m set --match-set TEST dst -j MARK --set-mark 1
ip rule add prio 100 fwmark 1 lookup 100
ip route add table 100 default dev eth1

注意,machine1 上的 eth1 是一个 vpn 连接。现在我正在尝试在machine1 上运行ping 8.8.8.8,但它显示了Destination Host Unreachable。在 vpn 机器上,我可以看到带有 tcpdump 的传入请求,但看起来 machine1 忽略或不检索流量。有人可以告诉我缺少什么吗?

upd:在远程机器上我只观察 arp 请求,不确定它是否是重要信息...

【问题讨论】:

    标签: ip router iptables


    【解决方案1】:

    看起来这是 linux 内核中 Reverse Path Filtering 功能的问题,其中某些系统上的默认值设置为验证路由。它使您的网络更加安全,但是...如果标记数据包并通过抽象规则路由它们,可能需要将rp_filter 切换到2,这将允许接受非对称路由的数据包。

    您只需要设置ti接口,计划通过该接口发送/接收流量。

    更多帮助,请访问https://access.redhat.com/solutions/53031

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-13
      • 2018-02-10
      • 1970-01-01
      • 1970-01-01
      • 2018-07-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多