centos linux开始防火墙

一、查看端口开启状态

[zhujiang@localhost n2]$ sudo firewall-cmd --query-port=9998/udp
[sudo] password for zhujiang: 
no

 

二、开启端口

 

[zhujiang@localhost n2]$ sudo firewall-cmd --add-port=9998/udp --permanent
success
 

--permanent表示永久生效,重启不会丢失配置。

 

三、关闭端口

[zhujiang@localhost n2]$ sudo firewall-cmd --remove-port=9998/udp --permanent
Warning: NOT_ENABLED: 9998:udp
success

 

重新加载配置

[zhujiang@localhost n2]$ sudo firewall-cmd --reload
success
[zhujiang@localhost n2]$

 

 

1、firewalld的基本使用

启动: systemctl start firewalld

关闭: systemctl stop firewalld

查看状态: systemctl status firewalld 

开机禁用  : systemctl disable firewalld

开机启用  : systemctl enable firewalld

 

 

2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。

启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop 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

3.配置firewalld-cmd

查看版本: firewall-cmd --version

查看帮助: firewall-cmd --help

显示状态: firewall-cmd --state

查看所有打开的端口: firewall-cmd --zone=public --list-ports

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

查看区域信息:  firewall-cmd --get-active-zones

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

拒绝所有包:firewall-cmd --panic-on

取消拒绝状态: firewall-cmd --panic-off

查看是否拒绝: firewall-cmd --query-panic

 

那怎么开启一个端口呢

添加

firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)

重新载入

firewall-cmd --reload

查看

firewall-cmd --zone= public --query-port=80/tcp

删除

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

 

iptables的基础知识可以查看 王聪写的《学习使用iptables》http://wangcong.org/articles/learning-iptables.cn.html (写得非常棒)

iptables的一些术语之间的包含关系:表包含链,链包含规则,规则由匹配和目标组成。

匹配当然是指从网络进来的数据包匹配你制定的匹配条件了,目标则是说匹配成功后将会做什么操作(即目标)。

iptables的整个流程会读取四个表,其中的第三个表是 filter, 而本文题目所设定的目标就是通过在 filter 表里的 INPUT 链里添加一些规则来实现的。

这些链里的“规则”的运行规则是这样的:根据规则的先后顺序,从先到后一条一条地执行,若某条规则匹配了,则退出当条链的过滤;若某条规则未匹配,则进行下一条规则的匹配。

所以要只允许某ip(ip1)对端口(port1)的访问,就要在filter表的INPUT链里制定两个规则

1.接受ip1对port1的访问。

2.禁止所有ip对port1的访问。

因为如果1成立,就退出了当前链,即规则2不会执行,所以,设定成功。

以下是只允许ip1对端口25访问具体命令(请把ip1换成真实的ip):

iptables -A INPUT -p tcp -s ip1 --dport 25 -j ACCEPT

iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 25 -j DROP

 

 

 

CentOS7的防火墙换成了firewall了,这里做一些记录,下面是一些命令:
添加例外端口:
# firewall-cmd --add-port=8080/tcp
删除例外端口:
# firewall-cmd --remove-port=8080/tcp
查看例外端口:
# firewall-cmd --query-port=8080/tcp


如果想永久添加,加上permanent参数,如:
# firewall-cmd --permanent --add-port=8080/tcp


另外想设置端口范围的可以这样使用:
# firewall-cmd --add-port=80-8080/tcp
 

 

 

 查看防火墙状态

firewall-cmd    --state

 

关闭防火墙

systemctl  stop   firewalld.service

 

 

开启防火墙

systemctl  start   firewalld.service

 

 

禁止开机启动启动防火墙

systemctl   disable   firewalld.service

 

重新加载防火墙

sudo firewall-cmd --reload 

 

 

 

 

 

如果想使用iptables可以参考下面例子:
停用firewall:
systemctl stop firewalld
systemctl mask firewalld


并且安装iptables-services:
yum install iptables-services


设置开机启动:
systemctl enable iptables


systemctl [stop|start|restart] iptables
#or
service iptables [stop|start|restart]


service iptables save
#or
/usr/libexec/iptables/iptables.init save

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值