7.Linux中的火墙策略优化

实验环境:
重置虚拟机westosa westosb
westosa设置为双网卡

vim ifcfg-ens3
DEVICE=ens3
ONBOOT=yes
BOOTPROTO=none
IPADDR=172.25.254.117

vim ifcfg-ens10
DEVICE=ens10
ONBOOT=yes
BOOTPROTO=none
IPADDR=1.1.1.117
PREFIX=24

westosb设置为单网卡
 

DEVICE=ens3
ONBOOT=yes
BOOTPROTO=none
IPADDR=1.1.1.217
NETMASK=255.255.255.0

#### 1.火墙介绍 ####

1.netfilter
2.iptables
3.iptables|firewalld


#### 2.火墙管理工具切换 ####

在rhel8中默认使用的是firewalld

firewalld----->iptables   注意:不能同时使用

dnf install iptables-services -y    ##下载iptable服务
systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld
systemctl enable --now iptables

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

#####3. iptables 的使用 ####

#火墙策略的永久保存#
/etc/sysconfig/iptables        ##iptables 策略记录文件

永久保存策略
iptales-save > /etc/sysconfig/iptables
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,)

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        ##新的

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 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -m state --state NEW ! -s 192.168.0.10 -p tcp --dport 22 -j ACCEPT
ptables -A INPUT -m state --state NEW -j REJECT
service iptables  save


nat表中的dnat snat

snat
iptable -t nat -A POSTROUTING -o ens160 -j SNAT --to-source 192.168.0.20

dnat
iptables -t nat -A PREROUTING -i ens160 -j DNAT --to-dest 172.25.254.30



####### firewalld #######

## 1 firewalld的开启 ##

systemctl stop iptables
systemctl disable iptables
systemctl mask iptables


systemctl unmask firewalld
systemctl enable --now 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的设定原理及数据存储 ##

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

##4. firewalld的管理命令 ##

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=cockpit    ##移除服务
firewall-cmd --reload

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

firewall-cmd --permanent --remove-interface=ens224 --zone=public ##删除指定域的网络接口
firewall-cmd --permanent --add-interface=ens224 --zone=block     ##添加指定域的网络接口
firewall-cmd --permanent --change-interface=ens224 --zone=public ##更改网络接口到指定域

## 5. firewalld的高级规则 ##

firewall-cmd --direct --get-all-rules    ##查看高级规则
firewall-cmd --direct --add-rule ipv4 filter INPUT 0 ! -s 172.25.254.250 -p tcp --dport 22  -j REJECT


## 6.firewalld中的NAT ##

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

DNAT
firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=172.25.254.30
firewall-cmd --reload


westosa 双网卡
westosb 单网卡

目的:使得不同网段的机子可以互相连接
westosa中
 

 27  firewall-cmd --permanent --add-service=http  
   30  firewall-cmd --direct --add-rule ipv4 filter INPUT 1 ! -s 172.25.254.17 -p tcp --dport 80 -j REJECT   ##除了17主机可以查到 其他机子均不可以
   31  firewall-cmd --direct --get-all-rules
   32  firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 '!' -s 172.25.254.17 -p tcp --dport 80 -j REJECT
   33  firewall-cmd --direct --get-all-rules


westosb中设置网卡:
 

vim /etc/sysconfig/network   ##设定到跟westos一样的网段
1.1.1.117
nmcli connection reload
nmcli connection up System\ ens3
route -n

真机ping 172.25.254.117
即连接westosb
[root@westosa Desktop]# iptables -F
[root@westosa Desktop]# iptables -t nat -nL
[root@westosa Desktop]# iptables -t nat -A POSTROUTING -o ens3 -j SNAT --to-source 172.25.254.117
[root@westosa Desktop]# sysctl -a | grep ip_forward
[root@westosa Desktop]# iptables -t nat -A PREROUTING -i ens3 -j DNAT --to-dest 1.1.1.117
[root@westosa Desktop]# iptables -t nat -A PREROUTING -i ens3 -j DNAT --to-dest 1.1.1.217
[root@westosa Desktop]# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       all  --  0.0.0.0/0            0.0.0.0/0            to:1.1.1.117
DNAT       all  --  0.0.0.0/0            0.0.0.0/0            to:1.1.1.217

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       all  --  0.0.0.0/0            0.0.0.0/0            to:172.25.254.117

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
[root@westosa Desktop]# iptables -t nat -D PREROUTING -i ens3 -j DNAT --to-dest 1.1.1.117


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值