对于防火墙, 不是做运维的朋友应该是比较难接触到, 就算接触到了, 也是会将它关闭, 这里只是简要的介绍下防火墙 iptables
最精简的配置.
CentOS 6.x
查看防火墙状态
service iptables status
查看防火墙规则
iptables -L -nv
清空防火墙所有规则
iptables -F # 清除预设表filter中的所有规则链的规则
iptables -X # 清除预设表filter中使用者自定链中的规则
添加规则
iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 非常重要, 最好第一步就设置
如果不优先设置这条规则, 就无法通过
ssh
远程登录, 如果是实体服务器就需要本机操作了, 云服务器就悲剧了
这里只关闭入口
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
修改了配置一定记得保存, 否则这些修改只是临时生效, 文件保存在 /etc/sysconfig/iptables
service iptables save
防火墙开启, 停止和重启
service iptables start
service iptables stop
service iptables restart
其他重要端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT # http
iptables -A INPUT -p tcp --dport 443 -j ACCEPT # https
iptables -A INPUT -p tcp --dport 21 -j ACCEPT # ftp
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT # mysql
iptables -A INPUT -p tcp --dport 6379 -j ACCEPT # redis
内部回路, 这个非常重要, 否则服务器内部无法相互访问
iptables -A INPUT -i lo -p all -j ACCEPT
是否允许别人 ping
, 测试环境有用
iptables -A INPUT -p icmp -j ACCEPT
有时候, 我们操作php, 使用curl 访问外部, 或者操作java 使用 HttpConnection, 都需要开启
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
大致这样配置, 可以满足大部分需求, 当然, 有些严谨的朋友可能会将出口
OUTPUT
关闭, 这个时候大家只需要将OUTPUT按照INPUT的命令设置一遍即可
网友评论