安装systemctl:
yum -y install iptables-services
设置开机启动
systemctl enable iptables.service
如果报错:Failed to start IPv4 firewall with iptables.
因为centos7默认的防火墙是firewalld防火墙,不是使用iptables,因此需要先关闭firewalld服务,或者干脆使用默认的firewalld防火墙。
关闭firewalld:
systemctl stop firewalld
systemctl mask firewalld
开启443端口
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
保存规则
service iptables save
开启服务
systemctl restart iptables.service
#查看当前所有tcp端口
netstat -ntlp
#查看防火墙状态
systemctl status firewalld
#查看已开放端口情况
firewall-cmd --list-all
防火墙常规操作:
1、 重启后永久性生效:
开启:chkconfig iptables on
关闭:chkconfig iptables off
2、 即时生效,重启后失效:
开启:service iptables start
关闭:service iptables stop
3、Linux 防火墙开放特定端口
iptables是linux下的防火墙,同时也是服务名称。
service iptables status 查看防火墙状态
service iptables start 开启防火墙
service iptables stop 关闭防火墙
service iptables restart 重启防火墙
防火墙开放特定端口:
1.文件/etc/sysconfig/iptables
2.添加:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
★具体参照/etc/sysconfig/iptables中的配置,一般默认会有一个22端口开放★
★数字3306代表开放3306端口,也可以改成其他的端口.★
3.重启防火墙
service iptables restart
4.保存对防火墙的设置
serivce iptables save
5.查看iptables规则及编号
iptables -nL –line-number
6.查看iptables规则及编号
iptables -nL –line-number
7.关闭所有的INPUT FORWARD(转发) OUTPUT的所有端口
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
8.只打开22端口
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT
参数讲解:
–A 参数就看成是添加一条规则
–p 指定是什么协议,我们常用的tcp 协议,当然也有udp,例如53端口的DNS
–dport 就是目标端口,当数据从外部进入服务器为目标端口
–sport 数据从服务器出去,则为数据源端口使用
–j 就是指定是 ACCEPT -接收 或者 DROP 不接收
9.禁止某个IP访问
iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP