# Ubuntu 18.04 配置 IPtables
提示
IPtables 是一款 Linux 系统上的防火墙
安装 IPtables
apt install iptables
查看防火墙信息
iptables -L -n
显示如下表示安装成功
root@VM-0-3-ubuntu:~# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
添加配置文件 iptables.rules
vi /etc/iptables.rules
写入以下常用规则(示例)并退出
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
从文件加载规则
iptables-restore < /etc/iptables.rules
# 保存命令规则
IPtables 命令添加的规则默认会在服务器重启后失效,且不会保存到文件
注意
需要先将规则保存到文件,然后再从文件中加载
- 保存规则到文件
iptables-save > /etc/iptables.rules
- 从文件中加载规则
iptables-restore < /etc/iptables.rules
# 恢复设置
服务器重启后 IPtables 规则会被重置,需要手动从文件中加载
注意
在网卡中添加启动脚本的方式已不再适用于 Ubuntu 18.04 或更高版本
- 启用开机启动项
编辑配置文件
vi /etc/rc.local
添加 iptables-restore < /etc/iptables.rules
即可