Ubuntu服务器iptables配置简述
iptables是Linux服务器的IP信息包过滤系统,可以通过配置iptables增强Linux服务器的安全性,例如123端口和22端口,可能会成为DDoS攻击端口,我们可以通过配置iptables规则,防止恶意攻击。
iptables有三种规则INPUT
、FORWARD
、OUTPUT
增加规则和删除规则
- 关闭所有端口
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
- 查看所有设置
#--line-number 显示行号
iptables -L -n --line-number
- 根据行号删除一条设置
# ${type} 三种类型中选择一种 INPUT/OUTPUT/FORWARD
# ${line-number} 行号 可以通过 iptables -L -n --line-number 查看
iptables -D ${type} ${line-number}
- 增加一条规则
#增加了一条规则,不允许8443端口外部访问
#-j DROP 不允许访问 ACCEPT 允许访问
#-p tcp udp
#--dport 端口
#INPUT 可以改为其他2种(FORWARD、OUTPUT)
iptables -A INPUT -p tcp --dport 8443 -j DROP
- 增加一条规则,指定某个ip可以访问,其他ip不可访问
#增加8443端口访问权限控制
iptables -A INPUT -p tcp --dport 8443 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -p tcp --dport 8443 -j DROP
备注:这里ACCEPT一定放在DROP前面,否则都不能访问
保存规则
我们使用iptables-save
和iptables-restore
来保存设置和恢复设置
- 保存设置
#保存规则到/etc/iptables.up.rules中
iptables-save > /etc/iptables.up.rules
- 修改脚本/etc/network/interfaces,在网络启动时应用防火墙规则
vim /etc/network/interfaces
加入
pre-up iptables-restore < /etc/iptables.up.rules
备注:添加防火墙规则时,注意要允许ssh管理端口对外开放,方便服务器管理。