CentOS中防火墙相关的命令(CentOS7中演示)

1、firewall相关的操作

2、iptables相关的操作

          2.1、常规命令

          2.2、使用编辑文件的方式开放特定的端口

                  2.2.1、修改规则

                  2.2.2、添加放行的端口

                  2.2.3、重启iptables防火墙

                  2.2.4、测试端口放行效果

        2.3使用执行命令的方式开放特定端口

                 2.3.1执行命令

                 2.3.2测试

         关键字: Linux  CentOS  firewall iptables

      

        CentOS中防火墙程序主要是firewall和iptables,CentOS7中firewall服务已经默认安装好了,而iptables服务需要自己用yum  install  iptabes-services来安装。

       说明:以下演示均在CentOS7中进行,其他版本也大同小异

1、firewall相关的操作

    查看防火墙状态

firewall-cmd    --state


关闭防火墙

systemctl  stop   firewalld.service


开启防火墙

systemctl  start   firewalld.service


禁止开机启动启动防火墙

systemctl   disable   firewalld.service


2、iptables相关的操作

2.1常规命令

       iptables服务需要自己安装,命令是:

yum install  iptables-services

如图: 

        

         开启iptables防火墙的命令是:

systemctl  start  iptables.service

        重启iptables防火墙的命令是:

systemctl  restart  iptables.service

关闭iptables防火墙的命令是:

systemctl  stop  iptables.service

查看iptables防火墙状态的命令是:

systemctl  status  iptables.service

如图:

   

2.2使用编辑文件的方式开放特定的端口

         很多时候,需要开启防火墙,但是放行某些特定的端口,如何在防火墙开启的状态下,放行50007端口?按照下面的步骤做。

2.2.1修改规则

    主要是编辑/etc/sysconfig/iptables文件,编辑方法很多,可以使用vim编辑,也可以直接把该文件下载到本地,用本地工具编辑。

    将原来的内容    :INPUTACCEPT [0:0]   修改为     :INPUT DROP[0:0]

    将原来的内容    :FORWARDACCEPT [0:0]  修改为    :FORWARD  DROP[0:0]

   将原来的内容     :OUTPUT ACCEPT [0:0]    修改为        :OUTPUTACCEPT [0:480]

2.2.2添加放行的端口

          iptables文件的末尾有如下三行内容:


-A INPUT -j REJECT--reject-with icmp-host-prohibited

-A FORWARD -j REJECT--reject-with icmp-host-prohibited

COMMIT

          在这这三行的前面添加一行放行50070端口的配置内容:

-A INPUT -p tcp -m tcp --dport 50070 -j ACCEPT

          同理,如果要放行80端口,就添加一行:

-A INPUT -p tcp -m tcp --dport  80 -j ACCEPT


          修改完成后,我的/etc/sysconfig/iptables文件是这样的:

*filter

:INPUT DROP [0:0]

:FORWARD DROP [0:0]

:OUTPUT ACCEPT [0:480]

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

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

-A INPUT -p tcp -m tcp --dport 50070 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

2.2.3重启iptables防火墙

       执行重启iptables防火墙的命令,命令是:

       systemctl  restart  iptables.service

       如图:

      

2.2.4测试端口放行效果

       在使用命令systemctl  stop firewalld.service关闭防火墙,使用命令systemctl  start  iptables.service开启防火墙,但是为配置/etc/sysconfig/iptables文件,未放行50070端口的情况下,访问以下地址http://192.168.27.134:50070/dfshealth.html#tab-overview

是访问不了的,如图:

      

      在配置了/etc/sysconfig/iptables文件,添加了放行50070端口,并且重启了iptables防火墙的情况下,在访问该地址:http://192.168.27.134:50070/

      发现OK了,如图:

     

 

 2.3使用执行命令的方式开放特定端口

 2.3.1执行命令

       在不手动修改iptables防火墙的配置文件的情况下,使用命令做到放行某些常用端口,命令集合是:

iptables -P INPUT ACCEPT

iptables -F 

iptables -X 

iptables -Z 

iptables -A INPUT -i lo -jACCEPT 

iptables -A INPUT -p tcp --dport22 -j ACCEPT 

iptables -A INPUT -p tcp --dport21 -j ACCEPT 

iptables -A INPUT -p tcp --dport80 -j ACCEPT 

iptables -A INPUT -p tcp --dport8080 -j ACCEPT

iptables -A INPUT -p tcp --dport8088 -j ACCEPT

iptables -A INPUT -p tcp --dport443 -j ACCEPT 

iptables -A INPUT -p icmp--icmp-type 8 -j ACCEPT 

iptables -A INPUT -p tcp --dport50070 -j ACCEPT 

iptables -A INPUT -m state --stateRELATED,ESTABLISHED -j ACCEPT 

iptables -P INPUT DROP 

iptables -P OUTPUT ACCEPT 

iptables -P FORWARD DROP 

service  iptables save 

systemctl  restart  iptables.service

如图:

    

2.3.2测试

     测试方法同2.2.4章节,开放端口的效果是一样的。




### CentOS 7 防火墙常用命令及配置方法 在 CentOS 7 中,`firewalld` 是默认的防火墙管理工具,它取代了传统的 `iptables` 工具。以下是常用的防火墙命令及其功能: #### 启动和停止防火墙 启动防火墙可以使用以下命令: ```bash systemctl start firewalld.service [^1] ``` 如果需要停止防火墙,则执行如下命令: ```bash systemctl stop firewalld.service [^5] ``` #### 检查防火墙状态 要查看当前防火墙的状态,可运行以下命令: ```bash systemctl status firewalld ``` #### 设置开机自启或禁用 为了使防火墙在系统启动时自动启用,可以设置开机自启: ```bash systemctl enable firewalld.service ``` 相反,若希望禁用开机自启,可以运行: ```bash systemctl disable firewalld.service [^1] ``` #### 刷新防火墙规则 当修改了一些规则后,可以通过刷新来应用更改: ```bash firewall-cmd --reload [^4] ``` 或者也可以通过服务的方式重新加载防火墙: ```bash service firewalld restart [^4] ``` #### 查看已开放端口 查询本机上已经开放的端口列表,可以使用以下命令: ```bash firewall-cmd --list-ports [^3] ``` #### 添加新端口到防火墙 要在不关闭防火墙的情况下打开特定端口,比如 TCP 的 8080 端口,可以这样操作: ```bash firewall-cmd --zone=public --add-port=8080/tcp --permanent [^3] ``` 注意这里的 `--permanent` 参数表示永久生效。 完成上述命令之后还需要重载防火墙才能让改动立即生效: ```bash firewall-cmd --reload ``` 验证该端口是否成功添加: ```bash firewall-cmd --list-ports [^3] ``` #### 关闭指定端口 移除某个之前开放过的端口(例如 8080),可以用下面这条指令: ```bash firewall-cmd --zone=public --remove-port=8080/tcp --permanent ``` 同样记得最后再做一次 reload 动作以确保变更即时有效。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值