二维码

nftables防火墙配置(arch为例)

2106 人阅读 | 时间:2019年10月23日 09:32

nftables防火墙配置(arch为例)

在/etc/nftables.conf默认包含着一个简单的防火墙设置,但过于简单,

现在重新编写nft的设置(这里列举的规则适合个人电脑,服务器或是其它的机器可以参考其它资料配置更加适合的规则)。


  # nft list ruleset 检查已经写了的过滤规则

  # nft flush ruleset 清除当前的ruleset

  # nft add table inet filter 创建一个名为“inet filter”的表

创建几条重要的链

  # nft add chain inet filter input { type filter hook input priority 0 \; policy drop \; }\

  # nft add chain inet filter forward { type filter hook forward priority 0 \; policy drop \; }

  # nft add chain inet filter output { type filter hook output priority 0 \; policy accept \; }

# nft add chain inet filter TCP
# nft add chain inet filter UDP
编写几条重要的规则
# nft add rule inet filter input ct state related,established accept
# nft add rule inet filter input iif lo accept
# nft add rule inet filter input ct state invalid drop
# nft add rule inet filter input ip protocol icmp icmp type echo-request ct state new accept
# nft add rule inet filter input ip protocol udp ct state new jump UDP
# nft add rule inet filter input ip protocol tcp tcp flags \& \(fin\|syn\|rst\|ack\) == syn ct state new jump TCP
# nft add rule inet filter input ip protocol udp reject
# nft add rule inet filter input ip protocol tcp reject with tcp reset
# nft add rule inet filter input counter reject with icmp type prot-unreachable
若需要监听80或443端口(其它端口参照这两个例子即可),可以添加一下规则
# nft add rule inet filter TCP tcp dport 80 accept
# nft add rule inet filter TCP tcp dport 443 accept
# nft list ruleset > /etc/nftables.conf   将刚写好的ruleset保存到/etc/nftables.conf文件里。
最后,用# lsmod | grep '^nf'查看nft跟哪些modules有关。
创建一个文件/etc/modules-load.d/nftables.conf,并将这些模块名字加入到该文件。
参考资料,https://wiki.archlinux.org/index.php/Nftables

©著作权归作者所有:来自ZhiKuGroup博客作者没文化的原创作品,如需转载,请注明出处,否则将追究法律责任 来源:ZhiKuGroup博客,欢迎分享。

评论专区
  • 昵 称必填
  • 邮 箱选填
  • 网 址选填
◎已有 0 人评论
搜索
作者介绍
30天热门
×
×
本站会员尊享VIP特权,现在就加入我们吧!登录注册×
»
会员登录
新用户注册
×
会员注册
已有账号登录
×