打开/关闭搜索
搜索
打开/关闭菜单
56
714
72
2153
md5.pw
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
上传文件
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。
user-interface-preferences
个人工具
登录
请求账号
查看“︁使用nftables屏蔽国外流量”︁的源代码
来自md5.pw
分享此页面
更多语言
查看
阅读
查看源代码
查看历史
associated-pages
页面
讨论
更多操作
←
使用nftables屏蔽国外流量
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
---- === 1. 准备 === 确保 nftables 与 python3 已经安装<syntaxhighlight> nft --version python3 --version </syntaxhighlight>若没有安装, 以Debian13为例<syntaxhighlight>apt update apt install nftables python3 unzip systemctl enable nftables</syntaxhighlight>拷贝原有的nftables配置, 到一个好找的目录里, 以 <code>/main/nftables</code> 为例, 再对原路径进行链接<syntaxhighlight>cp /etc/nftables.conf /main/nftables/ ln -f /main/nftables/nftables.conf /etc/nftables.conf</syntaxhighlight>并准备好编辑 <code>/main/nftables/nftables.conf</code> === 2. 获取国内IP段 === 先获取并解压项目文件<syntaxhighlight> mkdir /main/nftables/geoip cd /main/nftables/geoip wget https://github.com/pvxe/nftables-geoip/archive/refs/heads/master.zip unzip master.zip rm master.zip </syntaxhighlight>执行脚本<syntaxhighlight>mv nftables-geoip-master/* ./ chmod u+x nft_geoip.py ./nft_geoip.py --file-location location.csv --download ./nft_geoip.py --download -c cn</syntaxhighlight> === 3. 配置nftables === 在合适位置添加或与其它的table进行合并, 这里比如只有访问tcp 46端口的国内IP, 才能放行<syntaxhighlight line="1"> table inet geoip_filter { include "/main/nftables/geoip/geoip-def-all.nft"; include "/main/nftables/geoip/geoip-ipv4-interesting.nft"; include "/main/nftables/geoip/geoip-ipv6-interesting.nft"; chain geoip_mark_input { type filter hook prerouting priority -10; policy accept; meta mark set ip saddr map @geoip4; meta mark set ip6 saddr map @geoip6; } chain input { type filter hook input priority 0; policy drop; # 放行本地/已建立/相关的连接 iif lo accept; ct state established,related accept; tcp dport { 46 } meta mark $CN ct state new accept; } } </syntaxhighlight> === 4. 完成配置 === 保存后并重启<syntaxhighlight> systemctl restart nftables.service </syntaxhighlight>
返回
使用nftables屏蔽国外流量
。
查看“︁使用nftables屏蔽国外流量”︁的源代码
来自md5.pw