iptables配置

本文详细介绍了在Debian11.6系统中配置iptables的基本操作,包括规则的查看、保存、恢复,以及如何设置进站规则、删除规则、处理已建立连接和确保ipv6地址获取。特别关注了如何通过白名单模式解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下操作基于debian 11.6系统完成

主要涉及iptables基本配置,以及解决配置Iptables后不能上网和不能获得ipv6地址的问题

1. 基本操作

# 以下命令,ipv4的配置使用iptables操作,ipv6的配置使用ip6tables操作

# 查看iptables服务状态
systemctl status iptables.service

# 开机自启动
systemctl enable iptables.service

# 重启iptables服务
systemctl restart iptables

# 查看已经生效的防火墙规则
# --line-numbers用来显示规则的序号
iptables -L --line-numbers

# 保存配置
# 保存
sudo bash -c 'iptables-save > /etc/iptables/rules.v4'
sudo bash -c 'ip6tables-save > /etc/iptables/rules.v6'

# 恢复
sudo bash -c 'iptables-restore < /etc/iptables/rules.v4'
sudo bash -c 'ip6tables-restore < /etc/iptables/rules.v6'

2. 匹配规则

如图,流量进站后,iptables会根据这个列表从上往下进行匹配,如果中间有匹配成功的规则,则会执行这个规则的策略。

因此,通过在规则列表最后插入一条默认拒绝的规则,则可以实现白名单模式。

3. 插入规则

# 添加进站规则
# 允许ip为(10.178.xx.xxip段)和端口号(所有用all)为22的流量进站
iptables -I INPUT -s 10.178.0.0/16 -p tcp --dport 22 -j ACCEPT

# 禁止所有进站
iptables -A INPUT -j DROP

说明:

  • -I:代表将规则插入到规则列表第一行,-A:代表将规则插入到规则列表最后一行
  • -s:来源地址
  • INPUT:代表进站规则,也可以改成OUTPUT控制出站规则
  • -p:指定协议,可以是tcp、udp或者all
  • -dport:目标端口
  • -j:执行策略,ACCEPT代表接收,DROP代表抛弃,即拒绝

4. 删除规则

# 最后的数字是规则的序号
sudo iptables -D INPUT 2

5. 允许已建立的或相关连的通行

如果没有这条配置,可能会导致无法上网

sudo iptables -I INPUT 1 -m state --state RELATED,ESTABLISHED -j ACCEPT

6. 获取ipv6地址

针对ipv6。如果使用白名单模式,需要增加以下配置,否则可能会导致无法获得ipv6地址

sudo ip6tables -I INPUT 2 -p icmpv6 --icmpv6-type router-advertisement -m hl --hl-eq 255 -j ACCEPT
sudo ip6tables -I INPUT 2 -p icmpv6 --icmpv6-type neighbor-solicitation -m hl --hl-eq 255 -j ACCEPT
sudo ip6tables -I INPUT 2 -p icmpv6 --icmpv6-type neighbor-advertisement -m hl --hl-eq 255 -j ACCEPT
sudo ip6tables -I INPUT 2 -p icmpv6 --icmpv6-type redirect -m hl --hl-eq 255 -j ACCEPT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值