Skip to content
NOTHINK Blog
返回

iptables 防火墙配置

目录

点击展开目录

更新系统

apt update && apt upgrade -y

在Ubuntu中安装iptables防火墙和持久化软件包

apt install iptables -y
apt install iptables-persistent -y

安装完成后,iptables 文件夹将包含两个文件,分别用于 IPv4 和 IPv6 规则:

检查 iptables 的当前状态

iptables -L

设置防火墙

允许本地主机流量

iptables -A INPUT -i lo -j ACCEPT

允许特定端口上的流量

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

选项的使用方式如下:

通过 IP 地址控制流量

# 接受来自特定 IP 地址的流量
iptables -A INPUT -s 127.0.0.1 -j ACCEPT

# 屏蔽来自特定 IP 地址的流量
iptables -A INPUT -s 127.0.0.1 -j DROP

# 拒绝来自某个 IP 地址范围的流量
iptables -A INPUT -m iprange --src-range 192.168.10.10-192.168.10.100 -j REJECT
* -m:匹配指定的选项
* -iprange:启用 iprange 扩展模块,这样防火墙才能识别“一段连续的 IP”
* \-\-src-range:指定 IP 地址范围
* -j REJECT: Jump(跳转)到操作动作。REJECT 表示拒绝。
小贴士: 它和 DROP 不同。DROP 是直接丢弃数据包不理会,而 REJECT 会给发送者回一个“拒绝访问”的消息,告诉对方你被拦住了。

删除不需要的流量

# 普通规则(链中的一个关卡,按顺序执行,可以灵活放置在任何位置)
iptables -A INPUT -j DROP
* 注意:输入此命令前确保 SSH 访问正常,否则将会阻止所有访问,包括当前的SSH访问。

删除规则

# 默认策略(链的最后防线,只有当所有规则都不匹配时才生效,只能设置 ACCEPT 或 DROP)
iptables -P INPUT DROP

# 列出所有规则
iptables -L -n --line-numbers

# 删除的防火墙规则所在的行,例如删除第3行
sudo iptables -D INPUT 3

保存更改

netfilter-persistent save
* 下次系统启动时,iptables将自动重新加载防火墙规则

分享这篇文章:

上一篇
Docker 部署 Nginx Proxy Manager