Linux(17)Centos5、6、7、8版本的防火墙常用命令

本文涉及的产品
云防火墙,500元 1000GB
简介: Linux(17)Centos5、6、7、8版本的防火墙常用命令

有个业务需求 , 需要设置服务器防火墙 ,

服务器是在阿里云上的 , 使用的是centos 6.8 ,

开始使用的是firewall-cmd命令进行设置 , 发现并没有该命令 , 尝试安装yum install firewalld

装不上去 , 直觉告诉我版本号问题 , 去查询系统版本号 , 果然centos 6.8

查询资料发现6 和 7的设置方法不一样 , firewall-cmd是centos7的设置方法 , iptables是centos6.x设置方法。

ps:

阿里云和腾讯的防火墙要进 云服务器控制台 安全组进行添加。

一、centos5和6的防火墙常用命令

提示:【该此命令只对5和6版本兼用】。

1. 对防火墙iptables的相关操作

代码如下(示例):

  chkconfig --list | grep iptables 查看防火墙的服务

  service iptable status --- 查看防火墙状态

  servcie iptables stop -- 临时关闭防火墙

  service iptables start -- 临时启动防火墙

  service iptables restart -- 重启防火墙

  chkconfig iptables off -- 永久关闭防火墙

  chkconfig iptables on -- 永久开启防火墙

2.防火墙的端口的开放/阻止

代码如下(示例)以下用的参数说明::

  【-A】:添加一条INPUT的规则

  【-p】:指定是什么协议

  【--dport】:就是目标端口,当数据从外部进入服务器为目标端口

  【--sport】:数据从服务器出去,则为数据原端口

  【-j】:就是指定是ACCEPT接受或阻止DROP

  1:查看防火墙开放的端口在文件:/etc/sysconfig/iptables中

    cat /etc/sysconfig/iptables

开放/阻止所有服务器对某个端口的访问

    如开放8080端口

    1:vim /etc/sysconfig/iptables 进入编辑模式 添加一条:

      开放:-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT

      阻止:-A INPUT -p tcp -m tcp --dport 8080 -j DROP

    2:重启iptables服务:service iptables restart

    3:保存配置信息:/etc/rc.d/init.d/iptables save

禁止/允许某个ip访问

    开放:-A INPUT -p tcp -s 192.xxx.xxx.xxx -j ACCEPT

    阻止:-A INPUT -p tcp -s 192.xxx.xxx.xxx -j DROP

    注:其中【-s】表示来源的意思

    然后重启服务和保存配置

对内网某机器单独开放某个端口:

    iptables -A INPUT -s 192.xxx.xxx.xxx -p tcp -m tcp --dport 3xxx -j ACCEPT

    iptables -A OUTPUT -s 192.xxx.xxx.xxx -p tcp -m tcp --sport 3xxx -j ACCEPT

    然后重启服务和保存配置

    注:INPUT表示对外,OUTPUT表示对内

xxx=代表随意填充数字。


二、centos7的防火墙常用命令

1. 对防火墙iptables的相关操作

代码如下(示例):

>>>关闭防火墙

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

>>>开启端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

命令含义

--zone #作用域

--add-port=80/tcp #添加端口,格式为:端口/通讯协议

--permanent #永久生效,没有此参数重启后失效

2、设置 iptables service

检测并安装iptables 

yum -y install iptables-services

>>>如果要修改防火墙配置,如增加防火墙端口3306

vi /etc/sysconfig/iptables

>>>增加规则

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

保存退出后

systemctl restart iptables.service #重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

>>>重启防火墙

firewall-cmd --reload

其他常用命令:

firewall-cmd --state ##查看防火墙状态,是否是running

firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令

firewall-cmd --get-zones ##列出支持的zone

firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的

firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no

firewall-cmd --add-service=ftp ##临时开放ftp服务

firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务

firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务

firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口

iptables -L -n ##查看规则,这个命令是和iptables的相同的

man firewall-cmd ##查看帮助

更多命令,使用 firewall-cmd --help 查看帮助文件

三、centos8的防火墙常用命令

1. 对防火墙iptables的相关操作

yum install iptables-services #安装iptables(防火墙服务)

systemctl使用

systemctl unmask firewalld #执行命令,即可实现取消服务的锁定

systemctl mask firewalld # 下次需要锁定该服务时执行

systemctl start firewalld.service #启动防火墙

systemctl stop firewalld.service #停止防火墙

systemctl reloadt firewalld.service #重载配置

systemctl restart firewalld.service #重启服务

systemctl status firewalld.service #显示服务的状态

systemctl enable firewalld.service #在开机时启用服务

systemctl disable firewalld.service #在开机时禁用服务

systemctl is-enabled firewalld.service #查看服务是否开机启动

systemctl list-unit-files|grep enabled #查看已启动的服务列表

systemctl --failed #查看启动失败的服务列表

firewall-cmd使用

firewall-cmd --state #查看防火墙状态

firewall-cmd --reload #更新防火墙规则

firewall-cmd --state #查看防火墙状态

firewall-cmd --reload #重载防火墙规则

firewall-cmd --list-ports #查看所有打开的端口

firewall-cmd --list-services #查看所有允许的服务

firewall-cmd --get-services #获取所有支持的服务

#区域相关

firewall-cmd --list-all-zones #查看所有区域信息

firewall-cmd --get-active-zones #查看活动区域信息

firewall-cmd --set-default-zone=public #设置public为默认区域

firewall-cmd --get-default-zone #查看默认区域信息

firewall-cmd --zone=public --add-interface=eth0 #将接口eth0加入区域public

#接口相关

firewall-cmd --zone=public --remove-interface=eth0 #从区域public中删除接口eth0

firewall-cmd --zone=default --change-interface=eth0 #修改接口eth0所属区域为default

firewall-cmd --get-zone-of-interface=eth0 #查看接口eth0所属区域

例子

firewall-cmd --query-port=8080/tcp # 查询端口是否开放

firewall-cmd --add-port=80/tcp --permanent #永久添加80端口例外(全局)

firewall-cmd --remove-port=80/tcp --permanent #永久删除80端口例外(全局)

firewall-cmd --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(全局)

firewall-cmd --zone=public --add-port=80/tcp --permanent #永久添加80端口例外(区域public)

firewall-cmd --zone=public --remove-port=80/tcp --permanent #永久删除80端口例外(区域public)

firewall-cmd --zone=public --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(区域public)

修改配置后重启防火墙

firewall-cmd --reload #重启防火墙(修改配置后要重启防火墙)


[root@iZuf63nu0s9j3yizi2f8e0Z ~]# cat /proc/version //确定操作系统版本号
Linux version 2.6.32-696.6.3.el6.x86_64 (mockbuild@c1bl.rdu2.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC) ) #1 SMP Wed Jul 12 14:17:22 UTC 2017
[root@iZuf63nu0s9j3yizi2f8e0Z ~]# cat /etc/issue //确定操作系统版本号
CentOS release 6.8 (Final)
[root@iZuf63nu0s9j3yizi2f8e0Z ~]# iptables -A INPUT -p tcp -m tcp --dport 7000 -j ACCEPT
[root@iZuf63nu0s9j3yizi2f8e0Z ~]# iptables -A INPUT -p tcp -m tcp --dport 7500 -j ACCEPT
[root@iZuf63nu0s9j3yizi2f8e0Z ~]# service iptables status //查看防火墙状态
表格:filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:7500 
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:7000 
 
Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         
 
Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination 
[root@iZuf63nu0s9j3yizi2f8e0Z ~]# cat /etc/sysconfig/iptables //查看防火墙设置是否保存
----------------------------------------------------------
# Generated by iptables-save v1.4.7 on Tue Oct 11 09:48:01 2022
*filter
:INPUT ACCEPT [20942:97107726]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [21730:96992134]
-A INPUT -p tcp -m tcp --dport 7500 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 7000 -j ACCEPT
COMMIT
# Completed on Tue Oct 11 09:48:01 2022
----------------------------------------------------------


相关文章
|
19小时前
|
关系型数据库 MySQL Linux
Linux命令systemctl详解
`systemctl`是Linux系统用于管理systemd服务的核心命令,它与systemd守护进程交互,实现启动、停止、重启服务及查看服务状态等功能。主要参数包括`start`、`stop`、`restart`、`status`、`enable`和`disable`等。例如,启动Apache服务使用`systemctl start httpd.service`,查看服务状态用`systemctl status <service>`。使用时需注意权限,服务名通常以`.service`结尾,但命令中可省略。最佳实践包括利用tab键补全、定期查看服务状态和合理配置服务自启。
|
19小时前
|
存储 安全 Linux
Linux命令sync详解
`sync`命令在Linux中用于将内存缓冲区的数据强制写入磁盘,保证数据持久性和一致性。它在关机、重启或重要文件操作前后使用,以防数据丢失。工作原理是强制将内存中的数据同步到磁盘,特点是阻塞式执行且通常无需参数。常见用法包括安全关机、数据备份和配置文件修改后确保更改生效。应注意,过度使用可能影响性能,应适时使用`fsck`检查文件系统一致性。
|
19小时前
|
存储 算法 安全
Linux命令sum详解
`sum`命令在Linux中用于计算文件的校验和与磁盘块数,确保文件传输或存储时的完整性。它使用加法运算生成校验和,可与文件内容比较验证变化。支持不同算法(如CRC),能处理多个文件。基本用法包括:`sum file.txt`来计算校验和,`sum -c checksum.txt`来验证文件完整性。但要注意,更强的校验算法如MD5或SHA家族可能更适合安全性需求。结合`find`和`xargs`可用于目录的递归校验。定期校验和记录校验和是最佳实践。
|
19小时前
|
安全 数据管理 Shell
Linux命令su详解
`su`命令在Linux中用于切换用户身份,常用于权限管理。它允许用户无须注销当前会话就切换到另一个用户,尤其是root。`su`有多种选项,如`-`或`--login`加载目标用户环境,`-c`执行指定命令后返回。使用时需注意权限安全,建议用`sudo`以减少风险。通过限制`/etc/pam.d/su`可加强访问控制。`su`在系统维护和数据管理中扮演角色,但不直接处理数据。
|
19小时前
|
Unix Linux 数据处理
Linux命令stty详解
`stty`是Linux命令,用于设置和查看终端参数,如波特率、字符处理和控制字符。它直接与终端驱动交互,支持多种选项以适应不同的配置需求。例如,`stty -a`显示当前设置,`stty -echo`关闭回显,`stty 115200 cs8`调整波特率和字符大小。注意修改设置可能影响终端行为,建议先备份(`stty -g`)并谨慎操作。查阅手册页以获取详细信息。
|
19小时前
|
安全 Linux 数据处理
Linux命令strip详解
`strip`命令在Linux中用于移除可执行文件和库的符号表及调试信息,减小文件大小,提升运行效率。它的工作原理是删除文件中包含的函数名、变量名等信息。主要参数包括`-s`(移除所有符号)、`-g`(仅移除调试信息)等。在应用时要注意文件备份,因为该操作不可逆。最佳实践是在发布版本中使用,并结合构建流程自动化。
|
19小时前
|
安全 Linux 数据安全/隐私保护
Linux命令strings详解
`strings`是Linux工具,用于从二进制文件中提取可打印字符串,常用于文件分析、安全审计和逆向工程。它可以识别至少4个连续可打印字符的序列,并支持多种参数,如`-n`调整最小长度,`-f`显示文件名。示例用法包括`strings /bin/ls`和`strings -n 6 /usr/bin/uptime | grep GLIBC`。注意敏感信息泄露,结合其他命令可增强分析能力。
|
2月前
|
网络协议 安全 Linux
linux配置防火墙 Centos7下 添加 端口白名单
linux配置防火墙 Centos7下 添加 端口白名单
378 0
|
2月前
|
存储 安全 网络协议
使用 firewall-cmd 管理 Linux 防火墙端口
本文将介绍如何使用 firewall-cmd 工具在 Linux 系统中进行简单端口管理,包括开放、查询、关闭等操作。通过实例展示相关命令的用法,希望能对大家有所帮助。
299 0
|
1月前
|
网络协议 Java Linux
Linux常用操作命令、端口、防火墙、磁盘与内存
Linux常用操作命令、端口、防火墙、磁盘与内存
38 0