ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux(21)——防火墙

2021-05-30 19:29:59  阅读:153  来源: 互联网

标签:iptables rhclient 21 -- cmd 防火墙 Desktop firewall Linux


Linux(21)——防火墙


1. 防火墙安装及切换

  • firewalld
      rhel8中默认使用的是firewalld
    安装:
[root@rhclient Desktop]# dnf install iptables-services -y

从iptables切换至firewalld:

[root@rhclient Desktop]# systemctl stop iptables
[root@rhclient Desktop]# systemctl disable iptables
[root@rhclient Desktop]# systemctl mask iptables
[root@rhclient Desktop]# systemctl enable --now firewalld
  • iptables
    安装:
[root@rhclient Desktop]# dnf install iptables-services -y

从firewalld切换至firewalldiptables:

[root@rhclient Desktop]# systemctl stop firewalld
[root@rhclient Desktop]# systemctl disable firewalld 
[root@rhclient Desktop]# systemctl mask firewalld 
[root@rhclient Desktop]# systemctl enable --now iptables
  • chain

     input				#输入
     output				#输出
     forward			#内核转发
     postrouting		#路由之后
     prerouting			#路由之前
    
  • tables

     filter		#使用内核转发(input output forward)
     nat		#不经过内核的数据(postrouting,prerouting,input,output) 
     mangle		#当filter和nat表不够用时使用
    

2. iptables

配置文件储存在 /etc/sysconfig/iptables
保存当前配置

[root@rhclient Desktop]# iptales-save > /etc/sysconfig/iptables
[root@rhclient Desktop]# service iptables save
  • 设置策略
 [root@rhclient Desktop]#  iptables -[options] <-t table> [chain] [condition] [measure]
-t			#指定表名称
-n			#不做解析
-L			#查看
-A			#添加策略	
-N			#新建链
-E			#更改链名称
-X			#删除链
-D			#删除规则
-I			#插入规则
-R			#更改规则
-P			#更改默认规则
-m			#修改

-p			#协议
--dport		#目的地端口
-s			#来源

	RELATED					#建立过连接的(数据包)
	ESTABLISHED				#正在连接的(数据包)
	NEW						#新的(数据包)

-j			#动作
	ACCEPT			#允许
	DROP			#丢弃
	REJECT			#拒绝
SNAT		#源地址转换
DNAT		#目的地地址转换

使用范例:

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# filter表INPUT中添加规则: 接受状态为RELATED,ESTABLISHED的数据包

iptables -A INPUT -m state --state NEW -i lo -j ACCEPT
# filter表INPUT中添加规则: 接受状态为NEW数据包

iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
# filter表INPUT中添加规则: 接受状态为NEW并且tcp协议来自80端口的数据包

iptables -A INPUT -m state --state NEW ! -s 192.168.0.10 -p tcp --dport 22 -j ACCEPT	
# filter表INPUT中添加规则: 接受状态为NEW tcp协议端口为22的来源不是的192.168.0.10 的数据包

iptables -A INPUT -m state --state NEW -j REJECT
# filter表INPUT中添加规则: 拒绝状态为new的数据包

iptable -t nat -A POSTROUTING -o ens160 -j SNAT --to-source 192.168.0.20
# 添加snat规则,从ens160发出的数据来源更改为 192.168.0.20

iptables -t nat -A PREROUTING -i ens160 -j DNAT --to-dest 172.25.254.30
# 添加dnat规则,ens160 收到的数据目标地址改为172.25.254.30

3. firewalld

  firewalld 配置目录 /etc/firewalld ;模块目录 /lib/firewalld
  firewalld 默认存在数个域,工作在每个域时,防火墙开放接口不同。

说明
trusted开放所有服务
home开放ssh mdns ipp-client samba-client dhcp-client
work开放ssh ipp-client dhcp-client
public开放 ssh dhcp-client
dmz军级网络 ssh
block拒绝所有
drop丢弃 所有数据全部丢弃无任何回复
internal内部网络,开放 ssh mdns ipp-client samba-client dhcp-client
externalipv4网络地址伪装转发 sshd
  • 常规设定
[root@rhclient Desktop]# firewall-cmd [options] 
	firewall-cmd --state			#查看状态
	firewall-cmd --get-active-zones	#查看生效域
	firewall-cmd --get-default-zone	#查看默认域
	
	firewall-cmd --list-all					#查看默认域中的火墙策略
	firewall-cmd --list-all --zone=work		#查看指定域的火墙策略
	
	firewall-cmd --set-default-zone=trusted		#设定默认域
	firewall-cmd --get-services				#查看所有可以设定的服务
	firewall-cmd --permanent --remove-service=dhcp	#移除服务
	
	firewall-cmd --reload 			#刷新防火墙策略
	
	firewall-cmd --permanent --add-source=192.168.158.0/24 --zone=trusted
	#		指定数据来源访问域
	firewall-cmd --reload 
	firewall-cmd --permanent --remove-source=192.168.158.0/24 --zone=trusted
	#		删指定的域中的数据来源
	
	firewall-cmd --permanent --add-interface=ens224 --zone=trusted
	#		添加网络接口至指定域
	firewall-cmd --permanent --remove-interface=ens224 --zone=trusted
	#		删除指定域的网络接口
	firewall-cmd --permanent --change-interface=ens224 --zone=trusted
	#		更改网络接口指定的域
  • 高级设定
[root@rhclient Desktop]# firewall-cmd --direct --get-all-rules	#查看高级规则
[root@rhclient Desktop]# firewall-cmd --direct --add-rule ipv4 filter INPUT 0 ! -s 192.168.158.128 -p tcp --dport 22 -j REJECT
#		添加规则:非来自192.168.158.128 tcp 端口为22的数据包拒绝接受
  • NAT
    SNAT只需开启masquerade功能,DNAT需要进行具体配置
[root@rhclient Desktop]# firewall-cmd --permanent --add-masquerade
[root@rhclient Desktop]# firewall-cmd --permanent --add-forward port=port=22:proto=tcp:toaddr=192.168.158.128 

标签:iptables,rhclient,21,--,cmd,防火墙,Desktop,firewall,Linux
来源: https://blog.csdn.net/weixin_45699877/article/details/117390862

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有