8.Linux中的火墙策略优化

     1.火墙介绍     
1.netfilter
2.iptables
3.iptables|firewalld


     2.火墙管理工具切换     
在rhel8中默认使用的是firewalld

firewalld----->iptables

dnf install iptables-services -y
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

 

猜你喜欢

转载自blog.csdn.net/qq_47714288/article/details/110943836