Linux.防火墙

在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理,当然你可以还原传统的管理方式。firewalld和iptables是相互独立的防火墙管理工具。

目录

firewall

iptables

启用iptable

命令罗列

配置iptables参数

systemctl


firewall

启停命令

service firewalld status  # 查看防火墙的状态

service firewalld start   # 开启防火墙

service firewalld stop    # 关闭防火墙

service firewalld restart # 重启防火墙

添加端口

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

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

重新加载

firewall-cmd  --reload

查看

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

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

删除

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

管理端口示例

# 开启一个端口

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

# 重新载入

firewall-cmd --reload

# 查看某个端口的状态是否开启

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

# 关闭某个端口

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

参数

--permanent : 设置命令永久有效

--add-port : 开启一个端口

--remove-port : 关闭一个端口


iptables

linux系统已经默认安装了iptables和firewalld两款防火墙管理工具,但是在使用service iptables save命令的时候可能提示找不到命令;另外iptables的配置文件在/etc/sysconfig/iptables,但是新装的服务器可能没有这个文件,一般需要安装iptables-service;

启用iptable

如果你习惯使用iptables防火墙工具:以下是替换命令

yum -y install iptables-services   # 先更新iptables-services,可以发现在/etc/sysconfig/目录下已经有Iptables文件,同时可以使用service来管理iptables了

systemctl stop firewalld     # 先关闭防火墙firewalld    

systemctl start iptables     # 启动防火墙iptables    

systemctl enable iptables    # 将防火墙设置成开机自启动

systemctl iptables save      # 将当前配置的防火墙设置保存到/etc/sysconfig/iptables目录下  

注意:

  1. firewalld和iptables是相互独立的防火墙管理工具;
  2. ‘systemctl iptables save’ 执行时,iptables会去读取/etc/sysconfig/iptables-config文件,然后读取/etc/sysconfig/iptables文件;

命令罗列

设置开机启动:

systemctl enable iptables

暂停

systemctl stop iptables

启动

systemctl start iptables

重启

systemctl restart iptables

查看防火墙的状态

service iptables status 

重新加载

systemctl reload iptables

保存设置:

service iptables save

开放某个端口 在/etc/sysconfig/iptables里添加

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

配置iptables参数

防火墙需要开放端口给外部访问,设置过滤等。因此需要配置文件,所有的配置保存在/etc/sysconfig/iptables中,有两种方法可以配置:

方法一:直接修改iptables文件

*filter

:INPUT ACCEPT [0:0]   # 允许流量输入

:FORWARD ACCEPT [0:0] # 允许转发

:OUTPUT ACCEPT [0:0]  # 允许流出

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

-A INPUT -p icmp -j ACCEPT  # 允许ping通

-A INPUT -i lo -j ACCEPT  # 默认允许网卡流入数据

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT  # 添加一条规则,允许22端口

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

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

COMMIT  # 提交设置

# 在后面添加相关的命令行

参数详解

-A  :添加一条规则,针对什么数据包,INPUT流入的数据包,OUTPUT流出的数据包,FORWARD转发的数据包

-p  :指定协议,如TCP,UDP

–dport:目标端口,当数据从外部进入服务器为目标端口

–sport:源端口,数据从服务器出去,则为数据源端口使用

–j :指定策略规则,ACCEPT(允许接收)、DROP(拒绝接收,无响应)、REJECT(拒绝接收,有响应)

-s : 指定某一个IP地址的访问,加叹号“!”表示除这个IP外

-L  查看规则链

-F  清空规则链

-I num  在规则链的头部加入新规则

-D num  删除某一条规则

-d  匹配目标地址

-i 网卡名称 匹配从这块网卡流入的数据

-o 网卡名称 匹配从这块网卡流出的数据

方法二:使用命令行动态修改保存

iptables -P INPUT -j DROP

service iptables save 

注意

防火墙的规则是按照从上往下依次匹配的,因此一定要把允许动作放到拒绝动作前面,否则所有的流量就将被拒绝掉,从而导致任何主机都无法访问。


systemctl

systemctl是融合了chkconfig和service的系统管理工具,更加的强大和方便;

systemctl start firewalld    # 开启防火墙

systemctl stop firewalld    # 关闭防火墙,开机启动

systemctl restart firewalld  # 重新启动防火墙

systemctl status firewalld   # 查看防火墙的状态

systemctl disable firewalld  # 永久关闭防火墙,不再开机自启动

systemctl enable firewalld   # 设置防火墙开机自启动

systemctl is-enabled firewalld

systemctl start iptables    # 开启防火墙

systemctl stop iptables    # 关闭防火墙,开机启动

systemctl restart iptables  # 重新启动防火墙

systemctl status iptables   # 查看防火墙的状态

systemctl disable iptables  # 永久关闭防火墙,不再开机自启动

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


END

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值