07-nftables 防火墙、NAT.note

noteId: 908E15C8A0FC4B7B8206BF073ACAC31A · 原始路径:/ALL/世赛题目(练习) - 笔记/考核/1月份考核(第二次考核)/A-模块/题目笔记/07-nftables 防火墙、NAT.note · 图片:2 · 附件待处理:0

 
 
一、fw.lyon2024.fr
·创建 表和 链:
iptables -t nat -A POSTROUTING -s 1.1.1.1 -j SNAT --to 1.2.2.2
iptables -t nat -A PREROUTING -s 1.1.1.1 -j DNAT --to 1.2.2.2
iptables -A INPUT -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -t nat -F
iptables -F
·nftables 题目配置合集:
nft add rule ip nat PREROUTING ip daddr 210.104.1.0/24 tcp dport 53 dnat 192.168.1.1    //将 tcp 53端口的流量转给 192.168.1.1
nft add rule ip nat PREROUTING ip daddr 210.104.1.0/24 udp dport 53 dnat 192.168.1.1    //将 udp 53端口的流量转给 192.168.1.1
nft add rule ip nat PREROUTING ip daddr 210.104.1.0/24 tcp dport { 80, 443 } dnat 192.168.1.1    //将 tcp 80,443 端口的流量转给 192.168.1.1
nft add rule ip nat PREROUTING ip daddr 210.104.1.0/24 dport { 21, 25, 143, 465, 993, 631 } dnat 192.168.1.2    //将 tcp 21,25,443,465,993,631 端口的流量转给 192.168.1.2
 
nft add rule ip nat POSTROUTING ip saddr 192.168.1.0/24 snat 210.104.1.1    //将源自 192.168.1.0/24 的流量配置为转换为 210.104.1.1
nft add rule ip nat POSTROUTING ip saddr 192.168.2.0/24 snat 210.104.1.3    //将源自 192.168.2.0/24 的流量配置为转换为 210.104.1.3
nft add rule ip nat POSTROUTING ip saddr 172.16.2.0/24 snat 210.104.1.2    //将源自 172.16.2.0/24 的流量配置为转换为 210.104.1.2
 
# 应始终允许源自192.168.1.0/24,192.168.2.0/24,192.168.50.0/24,10.0.0.0/30 和 172.16.2.0/24 网络的流量:
nft add rule ip filter INPUT ip saddr 192.168.1.0/24 accept
nft add rule ip filter INPUT ip saddr 192.168.2.0/24 accept
nft add rule ip filter INPUT ip saddr 192.168.50.0/24 accept
nft add rule ip filter INPUT ip saddr 10.0.0.0/30 accept
nft add rule ip filter INPUT ip saddr 172.16.2.0/24 accept
 
nft add rule ip filter OUTPUT ip saddr 192.168.1.0/24 accept

nft add rule ip filter OUTPUT ip saddr 192.168.2.0/24 accept

nft add rule ip filter OUTPUT ip saddr 192.168.50.0/24 accept

nft add rule ip filter OUTPUT ip saddr 10.0.0.0/30 accept

nft add rule ip filter OUTPUT ip saddr 172.16.2.0/24 accept
 
# 修改默认策略为 DROP:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
nft add rule ip filter OUTPUT accept
nft add rule ip filter INPUT accept
nft add rule ip nat PREROUTING accept
nft add rule ip nat POSTROUTING accept
 
nft list ruleset > /etc/nftables.conf
systemctl enable nftables
 
 
 
 
1、配置 nftables【NAT】:
 
(1)安装软件包:
apt install -y iptables nftables
 
 
(2)使用 iptables 先创建 NAT 表
iptables -t nat -A POSTROUTING -s 1.1.1.1 -j SNAT --to 1.2.2.2
iptables -t nat -A PREROUTING -s 1.1.1.1 -j DNAT --to 1.2.2.2
iptables -t nat -F
 
 
(3)配置 NAT:
 
·为 lyon2024.fr 域的所有主机配置 PAT:
2、将源自 192.168.1.0/24 的流量配置为转换为 210.104.1.1:
nft add rule ip nat POSTROUTING ip saddr 192.168.1.0/24 snat 210.104.1.1
 
3、将源自 192.168.2.0/24 的流量配置为转换为 210.104.1.3:
nft add rule ip nat POSTROUTING ip saddr 192.168.2.0/24 snat 210.104.1.3
 
4、将源自 172.16.2.0/24 的流量配置为转换为 210.104.1.2:
nft add rule ip nat POSTROUTING ip saddr 172.16.2.0/24 snat 210.104.1.2
 
 
(4)保存 nftables 规则,并配置为 开机自启:
nft list ruleset > /etc/nftables.conf
systemctl enable nftables
 
 
2、配置 nftables【包过滤防火墙】
·先使用 ipatables 创建表和链:
iptables -A INPUT -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -t nat -A POSTROUTING -s 1.1.1.1 -j SNAT --to 1.1.1.2
iptables -t nat -A PREROUTING -s 1.1.1.1 -j DNAT --to 1.1.1.2
iptables -F
iptables -t nat -F
 
(1)默认情况下,应阻止通过防火墙的所有流量:(修改默认策略)
·可以在 nftables 配置保存到配置文件后进行修改:
vim /etc/nftables.conf
# 将策略改为 drop:
 
·也可以使用 iptables 进行修改默认策略:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
 
(2)应始终允许源自 192.168.1.0/24,192.168.2.0/24,192.168.50.0/24,10.0.0.0/30 和 172.16.2.0/24 网络的流量:
 
·配置 nftables:
nft add rule ip filter INPUT ip saddr 192.168.1.0/24 accept
nft add rule ip filter INPUT ip saddr 192.168.2.0/24 accept
nft add rule ip filter INPUT ip saddr 192.168.50.0/24 accept
nft add rule ip filter INPUT ip saddr 10.0.0.0/30 accept
nft add rule ip filter INPUT ip saddr 172.16.2.0/24 accept
 
 
 
 
3、fw.lyon2024.fw 上放行其它服务端口:
 
nft add rule ip nat PREROUTING ip daddr 210.104.1.0/24 tcp dport 53 dnat 192.168.1.1
nft add rule ip nat PREROUTING ip daddr 210.104.1.0/24 udp dport 53 dnat 192.168.1.1
nft add rule ip nat PREROUTING ip daddr 210.104.1.0/24 tcp dport { 80, 443 } dnat 192.168.1.1
nft add rule ip nat PREROUTING ip daddr 210.104.1.0/24 dport { 25, 143, 465, 993, 631 } dnat 192.168.1.2
 
 
 
 
二、fw.koyang2022.kr.
 
·先创建 表和 链:
apt install -y iptables nftables
iptables -t nat -A PREROUTING -s 192.168.1.1 -j DNAT --to 192.168.1.2
iptables -t nat -A POSTROUTING -s 192.168.1.1 -j SNAT --to 192.168.1.2
iptables -A INPUT -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -F
iptables -t nat -F
 
 
 
 
1、为 lyon2024.fr 域的所有主机配置 PAT:
 
 
2、为 源自 172.16.1.0/24 的流量配置 转换为 210.104.1.129:
nft add rule ip nat POSTROUTING ip saddr 172.16.1.0/24 snat 210.104.1.129
 
 
3、配置 nftables 包过滤:
 
(1)默认阻止通过防火墙的所有流量:
# 编辑 nftables 的配置文件:
vim /etc/nftables.conf
# 为了防止影响服务的运行,在最后加上允许所有的条目
systemctl restart nftables 重新读取规则
 
 
 
(2)始终允许 172.16.1.0/24、172.16.2.0/24 和 10.0.0.0/30 的网络流量:
nft add rule ip filter INPUT ip saddr 172.16.1.0/24 accept
nft add rule ip filter INPUT ip saddr 172.16.2.0/24 accept
nft add rule ip filter INPUT ip saddr 10.0.0.0/30 accept
nft add rule ip filter OUTPUT ip saddr 172.16.1.0/24 accept
nft add rule ip filter OUTPUT ip saddr 172.16.2.0/24 accept
nft add rule ip filter OUTPUT ip saddr 10.0.0.0/30 accept
 
 
(3)在源自 172.16.1.1/32 主机的 所有流量中,只允许服务所需的流量:
 
 
 
 
(4)