恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 240|回复: 9

请 @LGA1150 大神帮忙指导一下,谢谢

[复制链接]
发表于 2020-3-15 17:27 | 显示全部楼层 |阅读模式
@LGA1150 大神您好,看到过您的帖子,知道您对iptables比较熟悉,有个需求想请您帮忙指导一下:我想通过创建一个 chnroutes 的 ipset 来实现国内IP段走WAN,剩余的0.0.0.0/0则走tun0,tun0是open-v.p.n创建的接口。
用ip route add -net 的方法是可以实现,但目前8800多条国内IP段的路由逐条add的话,执行不是太高效,所以想请您帮忙指导一下,应该执行哪些命令来实现,谢谢!
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-15 19:36 | 显示全部楼层
不想一下子给你写明,动动脑子以后才有发展
ipset create chnroutes hash:ip
然后用ipset add chnroutes 202.111.111.111添加一条ip
然后用ipset save chnroutes -f /1.txt
然后你cat /1.txt,格式你就知道了。你就把888888888条ip,按照这个格式处理好放在一个文件。
然后ipset restore -f /1.txt导入。
然后iptables 用-m set !取反,不包含的都走向。。。还是得用 route add,但是一条规则搞定。
例子: iptables -t filter -A SWOBL -m set ! --match-set ipnetblacklist src,dst -j DROP 2>/dev/null

点评

多谢这位朋友/大神的回复,我用以下这串命令创建ipset可行吗? CHINALIST_FILE=/etc/IP_Lists/China_IP.txt ipset -! restore  详情 回复 发表于 2020-3-15 22:18
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-15 19:38 | 显示全部楼层
注意,ipset导入功能残障,绝对不可以有错误格式或者重复条目,不然该条目后面所有条目都不能导入

点评

我参考了这个文章 https://zohead.com/archives/openwrt-openvirtual**-ipset/ 还是搞不定,我其实就想实现IP分流,或者直观地说就是实现策略路由吧,但不使用mwan3 chnroute国内IP段,全走默认的eth1 chnroute  详情 回复 发表于 2020-3-15 23:40
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2020-3-15 22:18 | 显示全部楼层
wulishui 发表于 2020-3-15 19:36
不想一下子给你写明,动动脑子以后才有发展
ipset create chnroutes hash:ip
然后用ipset add chnroutes  ...

多谢这位朋友/大神的回复,我用以下这串命令创建ipset可行吗?
CHINALIST_FILE=/etc/IP_Lists/China_IP.txt
ipset -! restore <<-EOF || return 1
create chinaip hash:net
$(sed -e "s/^/add chinaip /" ${CHINALIST_FILE:=/dev/null} 2>/dev/null)
EOF

我发现与朋友提供的方法有hash:ip区别,我一直给mwan3创建ipset的话用的是hash:net ,请教以下具体区别是什么呢?

点评

net支持/24之类掩码。ip就只有ip。 其余百度加试验。  详情 回复 发表于 2020-3-15 22:23
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-15 22:23 | 显示全部楼层
本帖最后由 wulishui 于 2020-3-15 22:25 编辑
foxwho 发表于 2020-3-15 22:18
多谢这位朋友/大神的回复,我用以下这串命令创建ipset可行吗?
CHINALIST_FILE=/etc/IP_Lists/China_IP. ...

net支持/24之类掩码。ip就只有ip。如果你那列表有掩码的就要用net。
其余百度加试验,反正错了不会死人。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-15 22:31 | 显示全部楼层
本帖最后由 wulishui 于 2020-3-15 22:32 编辑

另外我记得ipset restore只支持file,不支持变量。因为它设计初衷就不是给你批量导入的,而是备份到文件之后恢复。我们这里只是发挥中国人的聪明才智投机取巧来批量导入而已。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-15 22:39 | 显示全部楼层
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2020-3-15 23:40 | 显示全部楼层
本帖最后由 foxwho 于 2020-3-15 23:43 编辑
wulishui 发表于 2020-3-15 19:38
注意,ipset导入功能残障,绝对不可以有错误格式或者重复条目,不然该条目后面所有条目都不能导入

我参考了这个文章,论坛会 自动把关键字屏蔽,我附上截图吧,链接会被屏蔽
$W~%XHW{G%RG)TWTI%HQS.png

还是搞不定,我其实就想实现IP分流,或者直观地说就是实现策略路由吧,但不使用mwan3
chnroute国内IP段,全走默认的eth1
chnroute外的IP段,就是全球境外IP段,全走o.v.p.n的虚拟接口tun0

我用route add -net是可以实现的,但想换用ipset来做,希望能把逐条添加路由到路由表时的效率提升以下,并试试如果用ipset是不是属于优雅点的方法
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-16 00:00 | 显示全部楼层
https://www.cnblogs.com/EasonJim/p/8424731.html这里有个例子,刚刚好符合你要的做法。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-16 00:03 | 显示全部楼层
大概看懂,add table,add mark,set mark,完事,睡觉。
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2021-1-27 12:39

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表