|

楼主 |
发表于 2023-6-29 00:45
|
显示全部楼层
- #然后需要分流
- #1.科学上网 这个自己解决 这里的脚本用的端口是1081
- #2.用一台国内的云服务器加速访问正常的国外网站的速度 这个需求还可以拓展为玩游戏的时候也走云服务器,这样就不会在家里光猫重新拨号的时候断网了 这里用的wireguard
- ipset create WOZIJI hash:ip #这里指定科学上网的源IP,即只有我自己的电脑和手机科学上网
- ipset add WOZIJI 192.168.11.179
- ipset add WOZIJI 192.168.11.157
- ipset create DNSMASQ hash:ip #这里就是科学上网的目标IP
- ipset create DNSMASQ6 hash:ip family inet6
- ipset create GUONEI hash:net #这个是国内的IP段 用于访问国内的时候直接走正常出口
- ipset create BENDI hash:net #这个是本地网段,直接return
- /root/fenliu.sh #这个脚本是初始化GUONEI和BENDI这2个ipset的
- #把上面的语句复制到/etc/rc.local里面
- #然后增加执行权限,让路由器重启以后自动执行
- chmod +x /etc/rc.local
- #然后分流用的iptables语句,直接写在启动脚本里面不生效,我的做法是用crontab 每分钟运行一次,第一次运行的时候生成一个文件,后面判断这个文件存在就不执行了
- crontab -e
- */1 * * * * /root/qidong.sh
- #这个脚本是因为系统重启以后iptables不会自动添加,所以写了这个脚本
- source /etc/profile
- if [ ! -f "/tmpfs/fenliu.txt" ]
- then
- iptables -t nat -I PREROUTING 1 -i eth0 -p tcp -m set --match-set BENDI dst -j RETURN -m comment --comment "第1条内网"
- iptables -t nat -I PREROUTING 2 -i eth0 -m set --match-set WOZIJI src -p tcp -m set --match-set DNSMASQ dst -j REDIRECT --to-ports 1081 -m comment --comment "第2条谷歌 源IP是WOZIJI"
- iptables -t nat -I PREROUTING 3 -i eth0 -s 192.168.99.0/24 -p tcp -j RETURN -m comment --comment "第3条我自己的全局腾讯云加速"
- iptables -t nat -I PREROUTING 4 -i eth0 -p tcp -m set --match-set GUONEI dst -j RETURN -m comment --comment "第4条已知的国内IP都直接return"
- iptables -t nat -I PREROUTING 5 -i eth0 -m set --match-set WOZIJI src -p tcp -j REDIRECT --to-ports 1082 -m comment --comment "第5条剩余的没有屏蔽的国外IP走腾讯云加速 源IP是WOZIJI"
- #IPV6相关的
- ip6tables -t nat -I PREROUTING 1 -i eth0 -p tcp -m set --match-set DNSMASQ6 dst -j REDIRECT --to-ports 1081
- shijian=`date`
- echo $shijian >> /tmpfs/fenliu.txt
- fi
- #####################IPV6的我暂时没有弄,需要的自己想办法吧 上面的哪个脚本里面的IPV6不全
- #BENDI网段包含下面这些
- 172.16.0.0/12
- 100.64.0.0/10
- 203.0.113.0/24
- 192.31.196.0/24
- 192.52.193.0/24
- 192.88.99.0/24
- 10.0.0.0/8
- 224.0.0.0/4
- 192.0.2.0/24
- 198.51.100.0/24
- 127.0.0.0/8
- 198.18.0.0/15
- 0.0.0.0/8
- 192.0.0.0/24
- 169.254.0.0/16
- 192.168.0.0/16
- 240.0.0.0/4
- 192.175.48.0/24
- 255.255.255.255
- #GUONEI的网段自己上网找吧
- #这2个文件的脚本如下:
- while read line
- do
- ipset add GUONEI $line
- done < /root/clang.cn.txt
- while read line
- do
- ipset add BENDI $line
- done < /root/bendi.zone
复制代码
|
|