VPS 上配置 iptables 防火墙
一个裸服务器,比如 VPS 架设好了 Web 服务等等之后,为了服务器的安全,防火墙设置也就成了必须的一个步骤了。Linux 下比较常用的就是 iptables,本文适用于 CentOS 和 Debian。
简单的来说,防火墙,就是只开启某些必要的服务端口,限时其他服务端口的使用。比如这么几个常用的默认端口和对应的服务: 22(ssh), 80(http), 443(https), 21(ftp), 25(smtp), 110(pop), 143(imap), 1194(openvpn), 3306(mysql), 8080(tomcat) 等等,看自己的需要来开启。
下面的防火墙规则,请在命令行直接运行,我简单的逐个的按顺序的分析给大家 (# 表示注释内容):
# 允许本地回环 127.0.0.1 iptables -A INPUT -i lo -p all -j ACCEPT # 允许已经建立的所有连接 iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT # 允许所有向外发起的连接 iptables -A OUTPUT -j ACCEPT # 拒绝 ping iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j REJECT # 允许 SSH 服务端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许 Web 服务端口 iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 拒绝其他所有未被允许的连接 iptables -A INPUT -j REJECT iptables -A FORWARD -j REJECT
这些规则必须要保存,否则下次重启服务器后,规则会丢失。CentOS 和 Debian 的 iptables 保存各有区别:
# CentOS
service iptables save # 保存 service iptables restart # 重启 chkconfig iptables on # 确认服务会随开机自动启动
# Debian
iptables-save > /etc/firewall.conf # 保存规则到一个文件 echo '#!/bin/sh' > /etc/network/if-up.d/iptables # 创建一个开机启动项文件 echo 'iptables-restore < /etc/firewall.conf' >> /etc/network/if-up.d/iptables # 同上,继续添加内容 chmod +x /etc/network/if-up.d/iptables # 修改启动项文件的执行属性
如果不满意以上配置的规则,可以使用以下命令来清空全部规则:
iptables -F iptables -X iptables -Z
到此,全部结束。
希望博主能介绍下linux下的iptables的基础知识文章。。。
这个你搜素下吧,应该很多
system-config-firewall-tui … 如果只想配置这些 …