博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux防火墙设置
阅读量:6292 次
发布时间:2019-06-22

本文共 3592 字,大约阅读时间需要 11 分钟。

hot3.png

Centos 7使用firewalld代替了原来的iptables。

 

1、firewall相关的操作

 

使用方法如下:

>>> 关闭防火墙

systemctl stop firewalld.service             #停止firewall

systemctl start firewalld.service             #开启firewall

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

>>> 开启端口

firewall-cmd --zone=public --add-port=80/tcp --permanent
 命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
>>> 重启防火墙
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 查看帮助文件

 

CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下

直接关闭防火墙
systemctl stop firewalld.service           #停止firewall
systemctl disable firewalld.service     #禁止firewall开机启动

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端口的情况下,访问以下地址

是访问不了的,如图:

      

 

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

      发现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章节,开放端口的效果是一样的。

转载于:https://my.oschina.net/u/3644969/blog/1811836

你可能感兴趣的文章
PHP中常见的面试题2(附答案)
查看>>
26.Azure备份服务器(下)
查看>>
mybatis学习
查看>>
LCD的接口类型详解
查看>>
Spring Boot Unregistering JMX-exposed beans on shutdown
查看>>
poi 导入导出的api说明(大全)
查看>>
Mono for Android 优势与劣势
查看>>
将图片转成base64字符串并在JSP页面显示的Java代码
查看>>
js 面试题
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>
Javascript 中的 Array 操作
查看>>
java中包容易出现的错误及权限问题
查看>>
AngularJS之初级Route【一】(六)
查看>>
服务器硬件问题整理的一点总结
查看>>
SAP S/4HANA Cloud: Revolutionizing the Next Generation of Cloud ERP
查看>>
Mellanox公司计划利用系统芯片提升存储产品速度
查看>>
白帽子守护网络安全,高薪酬成大学生就业首选!
查看>>
ARM想将芯片装进人类大脑 降低能耗是一大挑战
查看>>
Oracle数据库的备份方法
查看>>