荣耀之链论坛

 找回密码
 立即注册
搜索
查看: 388|回复: 1

rockylinux当软路由

[复制链接]

1326

主题

2373

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10267
发表于 2023-6-29 00:45 | 显示全部楼层 |阅读模式
  1. #rockylinux改造成软路由的脚本
  2. #第一步:把不同的接口放到不同的zone
  3. #把eth0加入到internal
  4. firewall-cmd --change-interface=eth0 --zone=internal  --permanent
  5. #把eth1加入到external
  6. firewall-cmd --change-interface=eth1 --zone=external  --permanent
  7. #设置默认的zone 设置这个的目的是输入firewal-cmd --list-all查看的就是默认的zone
  8. firewall-cmd --set-default-zone=internal

  9. #第二步:开启转发和NAT
  10. firewall-cmd --permanent --zone=external --add-masquerade

  11. #然后重启防火墙使规则生效
  12. firewall-cmd --reload

  13. #第三步:用dnsmasq提供DHCP和DNS服务
  14. #详细步骤见DNSMASQ的帖子

  15. #至此这个系统就可以当路由器用了
复制代码

回复

使用道具 举报

1326

主题

2373

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
10267
 楼主| 发表于 2023-6-29 00:45 | 显示全部楼层
  1. #然后需要分流
  2. #1.科学上网 这个自己解决  这里的脚本用的端口是1081
  3. #2.用一台国内的云服务器加速访问正常的国外网站的速度  这个需求还可以拓展为玩游戏的时候也走云服务器,这样就不会在家里光猫重新拨号的时候断网了 这里用的wireguard

  4. ipset create WOZIJI hash:ip             #这里指定科学上网的源IP,即只有我自己的电脑和手机科学上网
  5. ipset add WOZIJI 192.168.11.179
  6. ipset add WOZIJI 192.168.11.157

  7. ipset create DNSMASQ hash:ip      #这里就是科学上网的目标IP
  8. ipset create DNSMASQ6 hash:ip family inet6

  9. ipset create GUONEI hash:net      #这个是国内的IP段 用于访问国内的时候直接走正常出口
  10. ipset create BENDI hash:net        #这个是本地网段,直接return

  11. /root/fenliu.sh   #这个脚本是初始化GUONEI和BENDI这2个ipset的

  12. #把上面的语句复制到/etc/rc.local里面
  13. #然后增加执行权限,让路由器重启以后自动执行
  14. chmod +x /etc/rc.local

  15. #然后分流用的iptables语句,直接写在启动脚本里面不生效,我的做法是用crontab 每分钟运行一次,第一次运行的时候生成一个文件,后面判断这个文件存在就不执行了
  16. crontab -e
  17. */1   *  *   *   *   /root/qidong.sh

  18. #这个脚本是因为系统重启以后iptables不会自动添加,所以写了这个脚本
  19. source /etc/profile

  20. if [ ! -f "/tmpfs/fenliu.txt" ]
  21. then
  22.         iptables -t nat -I PREROUTING 1 -i eth0 -p tcp -m set --match-set BENDI dst -j RETURN -m comment --comment "第1条内网"
  23.         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"
  24.         iptables -t nat -I PREROUTING 3 -i eth0 -s 192.168.99.0/24 -p tcp -j RETURN -m comment --comment "第3条我自己的全局腾讯云加速"
  25.         iptables -t nat -I PREROUTING 4 -i eth0 -p tcp -m set --match-set GUONEI dst -j RETURN -m comment --comment "第4条已知的国内IP都直接return"
  26.         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"

  27.         #IPV6相关的
  28.         ip6tables -t nat -I PREROUTING 1 -i eth0 -p tcp -m set --match-set DNSMASQ6 dst -j REDIRECT --to-ports 1081

  29.         shijian=`date`
  30.         echo $shijian >> /tmpfs/fenliu.txt
  31. fi

  32. #####################IPV6的我暂时没有弄,需要的自己想办法吧 上面的哪个脚本里面的IPV6不全


  33. #BENDI网段包含下面这些
  34. 172.16.0.0/12
  35. 100.64.0.0/10
  36. 203.0.113.0/24
  37. 192.31.196.0/24
  38. 192.52.193.0/24
  39. 192.88.99.0/24
  40. 10.0.0.0/8
  41. 224.0.0.0/4
  42. 192.0.2.0/24
  43. 198.51.100.0/24
  44. 127.0.0.0/8
  45. 198.18.0.0/15
  46. 0.0.0.0/8
  47. 192.0.0.0/24
  48. 169.254.0.0/16
  49. 192.168.0.0/16
  50. 240.0.0.0/4
  51. 192.175.48.0/24
  52. 255.255.255.255

  53. #GUONEI的网段自己上网找吧

  54. #这2个文件的脚本如下:
  55. while read line
  56. do
  57.         ipset add GUONEI $line
  58. done < /root/clang.cn.txt

  59. while read line
  60. do
  61.         ipset add BENDI $line
  62. done < /root/bendi.zone
复制代码

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

荣耀之链

GMT+8, 2025-6-18 07:34 , Processed in 0.012034 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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