Linux 防火墙(firewall、iptable)相关知识

在 CentOS 系统一些较老的版本中,防火墙是用 iptables 控制的,但是从从 Centos7 以后,防火墙配置跟以前版本有很大区别,CentOS7 这个版本的防火墙默认使用的是firewall,与之前的版本 Centos 6.x 使用 iptables 不一样。

一、iptables 防火墙常用操作

1、基本操作

# 查看防火墙状态

service iptables status

# 停止防火墙

service iptables stop

# 启动防火墙

service iptables start

# 重启防火墙

service iptables restart

# 永久关闭防火墙

chkconfig iptables off

# 永久关闭后重启

chkconfig iptables on

2、开启80端口

vim /etc/sysconfig/iptables

# 加入如下代码

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT

保存退出后重启防火墙

service iptables restart

二、firewall 防火墙常用操作

1、查看 firewall 服务状态

systemctl status firewalld

出现 Active: active (running)切高亮显示则表示是启动状态。

出现 Active: inactive (dead)灰色表示停止,看单词也行。

2、查看 firewall 的状态

firewall-cmd –state

3、开启、重启、关闭、firewalld.service 服务

# 开启

service firewalld start

# 重启

service firewalld restart

# 关闭

service firewalld stop

4、查看防火墙规则

firewall-cmd –list-all

5、查询、开放、关闭端口

# 查询端口是否开放

firewall-cmd –query-port=8080/tcp

# 开放80端口

firewall-cmd –permanent –add-port=80/tcp

# 移除端口

firewall-cmd –permanent –remove-port=8080/tcp

#重启防火墙(修改配置后要重启防火墙)

firewall-cmd –reload

# 参数解释说明

1、firwall-cmd:是 Linux 提供的操作 firewall 的一个工具;

2、–permanent:表示设置为持久;

3、–add-port:标识添加的端口;

 三、firewalld 切换回 iptables

CentOS7  默认使用 firewalld 防火墙,如果需要切换回 iptables 防火墙,可先关闭 firewalld 再安装 iptables。

步骤如下:

1、关闭 firewall:

停止 firewall

systemctl stop firewalld.service

禁止 firewall 开机启动

systemctl disable firewalld.service

查看默认防火墙状态(关闭后显示 not running,开启后显示 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 域名 端口。

如果成功连接会进入的界面

连接失败,添加相应需要开放端口: esc :wq! 退出保存修改。

注意:添加在端口22上面或者下面,不要放在最后,不然不起作用。

4.重启防火墙使配置生效

systemctl restart iptables.service

刚刚 yum install iptables.service 之后系统如果没有重启,iptables.service 是找不到的,会报 unit not fount。这里特别注意一下!

设置防火墙开机启动:

systemctl enable iptables.service

 

发表评论

邮箱地址不会被公开。 必填项已用*标注