Linux 查看防火墙状态及开启关闭命令
引言
Centos 6.x版本 iptables
- 查看防火墙状态:
[root@centos6 ~]# service iptables status
iptables: Firewall is not running.
说明防火墙没有开启。
- 开启防火墙:
[root@centos6 ~]# service iptables start
- 关闭防火墙:
[root@centos6 ~]# service iptables stop
Centos 7版本 firewall
背景:在CentOS上面安装了mysql、svn、tomcat等软件,发现访问不了,用telnet命令查看端口,发现都不通。
telnet IP 端口
操作系统环境:CentOS Linux release 7.0.1406(Core) 64位
CentOS7 默认使用firewalld防火墙,如果想换回iptables防火墙,可关闭firewalld并安装iptables。
1、关闭firewall:
-
停止firewall
systemctl stop firewalld.service
-
禁止firewall开机启动
systemctl disable firewalld.service
-
查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
firewall-cmd --state
2.安装iptables-services
yum install iptables-services
3.修改防火墙配置文件
vi /etc/sysconfig/iptables
默认的文件为:
在修改之前使用telnet命令查看端口是否开放。
1.启动telnet。控制面板-->程序和功能-->打开或关闭windows功能-->勾选Telnet的两个选项。
2.打开cmd窗口,输入telnet,如果端口关闭或者无法连接,则显示不能打开到主机的链接,链接失败;端口打开的情况下,链接成功,则进入telnet页面(全黑的),证明端口可用。
(1)telnet IP 端口。
(2)telnet 域名 端口。
如果成功连接会进入的界面 连接失败添加端口80、8080、3306、3690端口:
esc :wq! 退出保存修改。
注意:添加在端口22上面或者下面,不要放在最后,不然不起作用。
4.重启防火墙使配置生效
systemctl restart iptables.service
刚刚yum install iptables.service之后系统如果没有重启,iptables.service是找不到的,会报unit not fount。耽误时间的小坑!
设置防火墙开机启动:
systemctl enable iptables.service
注意:在我本人亲测时,发现好像并不能实现防火墙的白名单。纠结~