防火墙分为硬件防火墙、软件防火墙,这里介绍软件防火墙,基于centos6、centos7。centos6中的防火墙名称:iptables,【centos7有两个防火墙,默认用的防火墙名称:firewall,使用中如果不习惯可以把firewall禁用,安装并使用iptables】
centos6中默认的iptables
- 查看iptables是否开机启动
chkconfig --list | grep iptables
注:iptables无法通过ps查看进程,其处理是由内核处理的防火墙通行规则。
永久关闭防火墙方案:
`chkconfig --level 2345 iptables off
- #此处2345为Linux用户模式,Linux系统有7个运行级别(runlevel)
- 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
运行级别2:多用户状态(没有NFS)
运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
运行级别4:系统未使用,保留
运行级别5:X11控制台,登陆后进入图形GUI模式
运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动`
iptables服务启动、重启、关闭、状态
service iptables start/restart/stop/status
- 查看防火墙的规则
iptables -L -n
-L:(list)列出规则
-n:标示将单词表达形式改成数字形式显示
注:还可以合并使用iptables -nL
给规则编号:iptables -nL --line-number
4. 添加防火墙规则
iptables -I INPUT -p tcp --dport 80 -j ACCEPT #允许访问80端口
-I:标示将规则放到最前面(大写i),INSERT缩写,代表插入
-A:标示将规则添加规则(最后),APPEND缩写,代表追加插入
-INPUT:进站请求【出站请求:OUTPUT】
-p:制定协议(icmp、tcp、udp)
-dport:指定端口
-j:指定行为结果,允许(ACCEPT)、禁止(REJECT)、丢弃(DROP)
添加完成后需要保存操作:/etc/init.d/iptables save
- 修改防火墙规则(-R),需要更改的规则行号后接更改内容
修改入站第一条规则:iptables -R INPUT 1 -p tcp --dport 80 -j ACCEPT
修改出站第一条规则:iptables -R OUTPUT 1 -p tcp --dport 80 -j ACCEPT
- 删除防火墙规则(-D)
iptables -D INPUT 1
iptables -D OUTPUT 1
注:1表示要删哪条规则。
- 保存与重启防火墙
/etc/init.d/iptables save #保存
service iptables restart #重启
centos7把firewall禁用
- 查看防火墙状态
systemctl status firewalld.service
2.关闭防火墙
systemctl stop firewalld.service
3.firewall开机启动关闭,centos6使用chkconfig
,centos7使用systemctl list-unit-files
systemctl list-unit-files #centos7查看开机启动项
systemctl list-unit-files | grep firewalld #查看防火墙开机启动状态
systemctl disable firewalld.service #firewall开机自启关闭