Linux中的火墙策略优化

实验环境配置:

两台主机:一台ip 是172.25.254.100

另一台ip 为172.25.254.200和1.1.1.200

双网卡配置

vim ifcfg-ens3

vim ifcfg-ens11

单网卡配置

 

1.火墙介绍

netfilter
iptables
iptables|firewalld

2.火墙管理工具切换

firewalld----->iptables

dnf install iptables-services -y

systemctl disable firewalld
systemctl mask firewalld
systemctl enable --now iptables 

3. iptables 的使用

/etc/sysconfig/iptables        ##iptables 策略记录文件

永久保存策略

 iptables -F  ##清空,但是重启服务还会出现

iptables -nL  ##不做解析查看

 设置永久保存 service iptables save

 4.火墙默认策略

默认策略中的5条链

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

默认的3张表

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

5.iptables命令
iptables
                  -t          ##指定表名称
                 -n          ##不做解析
                 -L          ##查看
                 -A         ##添加策略
                 -p          ##协议
                 --dport  ##目的地端口

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

                -N           ##新建链
                -E           ##更改链名称
                -X           ##删除链
                -D           ##删除规则
                 -I            ##插入规则
                -R           ##更改规则
                -P           ##更改默认规则

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

默认为filter

watch -n 1 iptables -nL ##监控表的内容变化

 iptables -A INPUT -s 172.25.254.200 -j ACCEPT ##接受来自主机200的输入

iptables -nL ##不带解析查看 

iptables -A INPUT -p tcp -s 172.25.254.219 -j ACCEPT

 iptables -N westos ##新建westos链

 iptables -E westos WESTOS ##将westos链改名为WESTOS

 iptables -X WESTOS ##删除链

 iptables -D INPUT 1 ##删除INPUT表中第一个策略

插入到INPUT表中第一个

更改拒绝为接受

 更改接受为丢弃

 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT ##只接收建立过连接和正在建立连接的数据和请求

 iptables -A INPUT -m state --state NEW -i lo -j ACCEPT ##接收来自新的回环接口的数据和请求

iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT ##接收来自新的22端口的数据和请求

iptables -A INPUT -m state --state NEW -j REJECT ##拒绝所有新的数据和请求

 service iptables save

6.iptables中的NAT 

SNAT 

设定测试端的网关GATEWAY=1.1.1.200

  iptable -t nat -A POSTROUTING -o ens3 -j SNAT --to-source 172.25.254.200##设置地址伪装,将ens3的数据流出ip改为172.25.254.200

sysctl -a | grep ip_forward ##查看服务

iptable -t nat -nL ##查看nat表及其策略

vim /etc/sysctl.conf ##1是启动

 

 测试端ip为1.1.1.100 ,连接主机73时实际上是200访问的

DNAT

 iptables -t nat -A PREROUTING -i ens3 -j DNAT --to-dest 1.1.1.100  ##设置DNT,服务器把对ens3 的访问转发到1.1.1.100上

 测试:

 7.firewalld

(1)firewalld的开启

iptales -------> fiewalld
dnf install firewalld -y
systemctl stop iptables
systemctl disable iptables
systemctl mask iptables
systemctl enable --now firewalld 

/etc/firewalld  ##火墙配置目录
/lib/firewalld  ##火墙模块目录

(2)关于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
external   ##ipv4网络地址伪装转发 sshd

(3)firewalld的管理命令 

firewall-cmd --get-zones ##查看当前火墙中的域
firewall-cmd --get-default-zone ##查看默认域
firewall-cmd --set-default-zone=block##设定默认域

firewall-cmd --list-all ##查看默认域中的火墙策略 

设定默认域为block后拒绝所有

设定默认域为trusted后接收所有网络连接   

 设定为drop之后拒绝但不作出回应

firewall-cmd --list-all --zones##查看所有域的火墙策略

 firewall-cmd --list-all --zone=trusted##查看指定域的火墙策略

 firewall-cmd --get-services ##查看所有可以设定的服务

查看服务目录

firewall-cmd --permanent --add-service=westos##增添服务

vim /etc/firewalld/zones/

vim /etc/firewalld/zones/public.xml

  firewall-cmd --permanent --remove-service=mountd ##移除服务

firewall-cmd --permanent --add-source=172.25.254.73 --zone=block ##指定数据来源访问指定域firewall-cmd --permanent --remove-source=172.25.254.73 --zone=block ##删除自定域中的数据来源

 

 firewall-cmd --permanent --remove-interface=ens11  ##删除网络接口

firewall-cmd --permanent --add-interface=ens11 --zone=block ##添加指定域的网络接口 

firewall-cmd --get-active-zones ##查看当前火墙中生效的域

测试:ping不通ens11

 firewall-cmd --permanent --change-interface=ens11 --zone=public ##更改网络接口到指定域

(4) firewalld的高级规则

firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 1.1.1.0/24 -p tcp --dport 22 -j
REJECT  ##拒绝1.1.1网段来执行ssh服务 

firewall-cmd --direct --get-all-rules  ##查看高级规则 

 测试:用ip为1.1.1网段的主机ssh 不了

(5) firewalld中的NAT

SNAT
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload

 

测试:不同网段可以ping通

 DNAT
firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:topor=22:toaddr=1.1.1.100
firewall-cmd --list-all

测试:主机73连接200主机实际连接到1.1.100

执行firewall-cmd --reload 设置的会消失 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值