略
conf-dir=/etc/dnsmasq.d,.rpmnew,.rpmsave,.rpmorig
[root@instance-20230119-1031 ~]# cat /etc/dnsmasq.d/warp.conf server=1.1.1.1 server=8.8.8.8 server=/.openai.com/8.8.8.8#53 ipset=/.openai.com/warp ipset=/.openai.com/warp6 ##ipv6
重点网站配置:
server=1.1.1.1 server=8.8.8.8 # ----- WARP ----- # # > Youtube Premium server=/googlevideo.com/1.1.1.1 server=/youtube.com/1.1.1.1 server=/youtubei.googleapis.com/1.1.1.1 server=/fonts.googleapis.com/1.1.1.1 server=/yt3.ggpht.com/1.1.1.1 server=/gstatic.com/1.1.1.1 # > Custom ChatGPT ipset=/openai.com/warp ipset=/ai.com/warp # > IP api ipset=/ip.sb/warp ipset=/ip.gs/warp ipset=/ifconfig.co/warp ipset=/ip-api.com/warp # > Custom Website ipset=/www.cloudflare.com/warp ipset=/googlevideo.com/warp ipset=/youtube.com/warp ipset=/youtubei.googleapis.com/warp ipset=/fonts.googleapis.com/warp ipset=/yt3.ggpht.com/warp # > Netflix ipset=/fast.com/warp ipset=/netflix.com/warp ipset=/netflix.net/warp ipset=/nflxext.com/warp ipset=/nflximg.com/warp ipset=/nflximg.net/warp ipset=/nflxso.net/warp ipset=/nflxvideo.net/warp ipset=/239.255.255.250/warp # > TVBAnywhere+ ipset=/uapisfm.tvbanywhere.com.sg/warp # > Disney+ ipset=/bamgrid.com/warp ipset=/disney-plus.net/warp ipset=/disneyplus.com/warp ipset=/dssott.com/warp ipset=/disneynow.com/warp ipset=/disneystreaming.com/warp ipset=/cdn.registerdisney.go.com/warp # > TikTok ipset=/byteoversea.com/warp ipset=/ibytedtos.com/warp ipset=/ipstatp.com/warp ipset=/muscdn.com/warp ipset=/musical.ly/warp ipset=/tiktok.com/warp ipset=/tik-tokapi.com/warp ipset=/tiktokcdn.com/warp ipset=/tiktokv.com/warp
service dnsmasq restart
默认的域名解析服务器设置为dnsmasq
[root@instance~]# cat /etc/resolv.conf nameserver 127.0.0.1 nameserver 100.100.100.100 search tail4dd15.ts.net
ipset create warp hash:ip ipset create warp6 hash:ip family inet6 #ipv6
在/etc/iproute2/rt_tables添加一行,如下中的最后一行所示:
[root@instance-20230119-1031 ~]# cat /etc/iproute2/rt_tables # # reserved values # 255 local 254 main 253 default 0 unspec # # local # #1 inr.ruhep 55 warp
iptables -t mangle -N fwmark iptables -t mangle -A PREROUTING -j fwmark iptables -t mangle -A OUTPUT -j fwmark iptables -t mangle -A fwmark -m set --match-set warp dst -j MARK --set-mark 2 ip rule add fwmark 2 table warp ip route add default dev warp table warp iptables -t nat -A POSTROUTING -m mark --mark 0x2 -j MASQUERADE iptables -t mangle -A POSTROUTING -o warp -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
如果要删除iptables,请按照如下命令顺序执行:
iptables -t mangle -D PREROUTING -j fwmark iptables -t mangle -D OUTPUT -j fwmark iptables -t mangle -D fwmark -m set --match-set warp dst -j MARK --set-mark 2 ip rule del fwmark 2 table warp iptables -t mangle -D POSTROUTING -o warp -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu iptables -t nat -D POSTROUTING -m mark --mark 0x2 -j MASQUERADE iptables -t mangle -F fwmark iptables -t mangle -X fwmark
注意点,太坑!!!
Arch Linux 默认的 rp_filter 策略是严格路由匹配,即我收到 ICMP 包的网卡(物理网卡)并不是 最佳路径(默认路由表中VPN才是最佳路径)所以就丢掉了。所以把 rp_filter 改成宽松模式(路由可达即认为数据包合法)
sudo sysctl net.ipv4.conf.{all,enp0s3}.rp_filter=2 # 你的网卡不一定叫 enp0s3
或者编辑 /etc/sysctl.d/60-rp_filter.conf
net.ipv4.conf.default.rp_filter = 2 net.ipv4.conf.all.rp_filter = 2
本文作者:Free Birds
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!