CentOS7
centos7默认使用的是firewall防火墙,如果使用iptables需要先停止firewall
[[email protected] ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
1.关闭firewall
[[email protected] ~]# systemctl stop firewalld.service //停止firewall
[[email protected] ~]# systemctl disable firewalld.service //禁止firewall开机启动
2.安装iptables
#先检查是否安装了iptables service iptables status #安装iptables yum install -y iptables #升级iptables yum update iptables #安装iptables-services yum install iptables-services
设置现有规则
#查看iptables现有规则 iptables -L -n #先允许所有,不然有可能会杯具 iptables -P INPUT ACCEPT #清空所有默认规则 iptables -F #清空所有自定义规则 iptables -X #所有计数器归0 iptables -Z #允许来自于lo接口的数据包(本地访问) iptables -A INPUT -i lo -j ACCEPT #开放22端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT #开放21端口(FTP) iptables -A INPUT -p tcp --dport 21 -j ACCEPT #开放80端口(HTTP) iptables -A INPUT -p tcp --dport 80 -j ACCEPT #开放443端口(HTTPS) iptables -A INPUT -p tcp --dport 443 -j ACCEPT #允许ping iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT #允许接受本机请求之后的返回数据 RELATED,是为FTP设置的 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #其他入站一律丢弃 iptables -P INPUT DROP #所有出站一律绿灯 iptables -P OUTPUT ACCEPT #所有转发一律丢弃 iptables -P FORWARD DROP
开启iptables服务
#注册iptables服务 #相当于以前的chkconfig iptables on systemctl enable iptables.service #开启服务 systemctl start iptables.service #查看状态 systemctl status iptables.service
CentOS6
[[email protected] ~]# service iptable status ---查看防火墙状态 [[email protected] ~]#servcie iptables stop --临时关闭防火墙 [[email protected] ~]#service iptables start --临时启动防火墙 [[email protected] ~]#service iptables restart --重启防火墙 [[email protected] ~]#chkconfig iptables off --永久关闭防火墙 [[email protected] ~]#chkconfig iptables on --永久开启防火墙
开启某个端口段:
你要是想开放一段,比如6000~6500,那就用冒号连接
iptables -A INPUT -p tcp --dport 6000:6500 -j ACCEPT