更新 防火墙.MD
This commit is contained in:
@@ -237,4 +237,56 @@ table ip filter {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
保存后再执行语法校验。
|
保存后再执行语法校验。
|
||||||
|
|
||||||
|
## 如果依然有问题:手动测试单条命令
|
||||||
|
|
||||||
|
```
|
||||||
|
nft add element ip filter cn_ip {1.0.1.0/24}
|
||||||
|
```
|
||||||
|
|
||||||
|
这条命令不报错,说明 nftables 配置文件的`table ip filter`和`set cn_ip`已经正确加载。
|
||||||
|
|
||||||
|
>
|
||||||
|
> 确认 nftables 已经启动:
|
||||||
|
|
||||||
|
```
|
||||||
|
systemctl start nftables
|
||||||
|
nft list ruleset
|
||||||
|
```
|
||||||
|
|
||||||
|
## 额外注意
|
||||||
|
|
||||||
|
1. `nftables.conf`必须完整,table ip filter 以及 set cn_ip 必须存在,否则 add element 会找不到集合。
|
||||||
|
2. 如果你服务器访问 apnic 很慢 / 超时,可以把 `delegated‑apnic‑latest` 下载本地,修改脚本读取本地文件。
|
||||||
|
3. 不要残留旧 ipset,执行:`ipset destroy cn_ip`
|
||||||
|
|
||||||
|
### 完整 nftables.conf 再次贴一遍对照
|
||||||
|
|
||||||
|
```
|
||||||
|
#!/usr/sbin/nft -f
|
||||||
|
flush ruleset
|
||||||
|
|
||||||
|
table ip filter {
|
||||||
|
set cn_ip {
|
||||||
|
type ipv4_addr
|
||||||
|
flags interval
|
||||||
|
auto-merge
|
||||||
|
}
|
||||||
|
|
||||||
|
chain input {
|
||||||
|
type filter hook input priority 0; policy accept;
|
||||||
|
ip saddr @cn_ip tcp dport 40000-50000 drop
|
||||||
|
ip saddr @cn_ip udp dport 40000-50000 drop
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
修改配置后校验语法:
|
||||||
|
|
||||||
|
```
|
||||||
|
nft -f /etc/nftables.conf --check
|
||||||
|
systemctl restart nftables
|
||||||
|
```
|
||||||
|
|
||||||
|
执行完后,`nft list ruleset` 可以看到完整规则。
|
||||||
Reference in New Issue
Block a user