iptables

CentOS7默认的防火墙不是iptables,而是firewalle,先停止自带的
# systemctl stop firewalld.service
# systemctl disable firewalld.service
 
 
安装iptables
# yum install -y iptables-services
# systemctl enable iptables.service
 
 
为了防止误操作iptables而将自己也拦截在机器之外,可以先配置一个crontab计划任务,每5分钟运行一次
*/5   *   *   *   *    /usr/bin/systemctl  stop iptables
 
 
1)清空所有的表链规则(包括自定义的)
iptables -F
iptables -X
iptables -Z
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
iptables -X -t mangle
 
2)打开"回还"(本地访问)
iptables -A INPUT -i lo -j ACCEPT
 
3)允许状态为ESTABLISHED的数据包进入
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 
4)允许ping
iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
 
5)对指定机器开放SSH端口
iptables -A INPUT -p tcp --dport <ssh_port> -s <remote_ip> -j ACCEPT
 
6)定义默认策略
一般来说为了搭建安全的防火墙,默认拒绝一切流量连接,所以三表五链默认规则都应该是DROP,但对于实际线上的iptables,建议按如下配置:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
 
7)保存上述规则
service iptables save

  

posted @ 2017-11-05 21:25  sellsa  阅读(196)  评论(0编辑  收藏  举报