• Linux防火墙firewalld(粗糙版)


    上篇是iptables的增删改查

    自定义链:

    systemctl stop firewalld

    setenforce 0

    iptables -N lmn

    iptables -vnL

    iptables -t filter -vnL

    修改链名:

    iptables -E lmn ky01

    iptables -t filter -vnL

    iptables -t filter -I ky01 -p icmp -j ACCEPT

    iptables -t filter -vnL

    iptables -t filter -I INPUT -p icmp -j ky01

    iptables -t filter -vnL

    删除:

    iptables -D INPUT 1

    iptables -D ky01 1

    iptables -X ky01

    自定义链使用 自定义链添加:iptables -N custom(链名) 创建链

    自定义链改名:iptables -E custom(原来名称) ky29(新名称) 自定义链改名

    创建自定义链规则:iptables -t filter -I ky29 -p icmp -j REJECT 创建自定义规则, iptables的链中添加一条对应到自定义链中才能生效

    iptabales创建对应链规则然后跳转自定义链web:iptables -t filter -I INPUT -p icmp -j custom

    删除自定义规则链:先删除iptables INPUT链中的对应关系,然后删除自定义链中的规则。 iptables -D INPUT 1 iptables -D ky27 1

    然后再用 iptables -X ky27 删除这个链

    iptables另一个功能

    iptables:地址转换

    SNAT:源地址转换。内网访问外网时,将内网的ip地址转换成可以和外网通信的ip地址

    DNAT:目的地址转换。外网访问内网时,将外网的ip地址转换成可以和内网通信的ip地址

    SNAT和DNAT核心:就是地址转换

    内到外,要换源

    外到内,转目的

    DNAT:虽然是目的地址转换,但是还有一个作用就是,将内部地址映射到一个或者是一组公网地址。将内部的私网地址映射成公网地址,公网地址可以直接对外提供访问服务

    实验:首先环境准备需要三台服务器

    ky01 zb:内网服务器 192.168.86.10

    ky01 sk:网关服务器 192.168.86.11

    beiyong:外网地址 12.0.0.0

    实验开始:

    将ky01 sk:添加一个网络适配器

    此时有两个网络适配器

    ifconfig

    ls

    cd /etc/sysconfig/network-scripts

    vim ifcfg-ens33

    对IPADDR操作192.168.86.254

    vim ifcfg-ens36(ps:此次经过上图ifconfig查看是36)

    对IPADDR操作12.0.0.254

    此时在ky01 zb和beiyong上

    yum -y install httpd

    systemctl restart httpd

    然后:在浏览器登录192.168.86.10

    192.168.86.12

    对ky01 sk操作:systemctl restart network

    对此虚拟机页面操作:vim /etc/sysctl.conf

    这是一个修改Linux内核参数的文件。可以使这些参数配置立刻生效

    文件最后面添加一行:net.ipv4.ip_forward=1

    命令:sysctl -p

    让文件立刻生效

    对ky01 zb操作

    对beiyong操作:

    对ky01 sk操作:

    iptables -t nat -A POSTROUTING -s 192.168.86.0/24 -o ens36 -j SNAT --to 10.0.0.10

    对此命令讲解:

    iptables :固定格式开头

    -t nat:使用地址转换表

    -A POSTROUTING:数据包离开本机的规则

    -s 192.168.86.0/24:整个网段作为源IP地址

    -o ens36:数据包流出本机的设备

    -j SNAT:做源地址转换

    --to:转换成10.0.0.10

    测试一下:

    登录ky01 zb和beiyong

    ky01 zb打开一个浏览器

    beiyong打开日志

    然后登录beiyong地址

    查看日志此时应该是地址10.0.0.10

    然后对ky01 sk 操作:

    iptables -t net -A PREROUTING -d 11.0.0.11 -i ens36 -p tcp --dport 80 -j DNAT --to 192.168.86.10:80

    -t nat:使用地址转换表

    -A PREROUTING:进入本机之后数据包做地址转换

    -d指定目的地址11.0.0.11

    -i:ens36设备进入本机

    -p: 指定协议

    --dport :目的端口,80

    -j:控制类型,目的地址转换

    --to :访问11.0.0.11就等于访问内网192.168.86.10:80的httpd的服务

    然后继续:iptables -t nat

    测试:

    主机1 打开日志:

    主机3打开浏览器:

    访问

    此时可以看到日志源地址没有变

    面试题:

    如何在Linux系统中对网络抓包?

    tcpdump,这是Linux自带的抓包工具

    两种方式:

    1.静态抓包,指定抓多少个数据包

    2.动态抓包,想抓多少抓多少,除非手动停止

    cd /opt

    tcpdump tcp 或者icmp 或者

    tcpdump tcp -i ens33 -t -s0 -c 10 and dst port 80 and src net 192.168.86.0/24 -w /opt/lmn.cap

    tcpdump 抓包命令

    tcp :指定协议

    -i ens33:只抓经过ens33的数据包

    -t: 不显示时间戳

    -s0:抓取完整的数据包,默认只抓64字节的数据包

    -c 10 : 只抓10个数据包

    dst port 80 :抓取的目标端口是80

    src net 192.168.86.0/24:抓取数据包的源地址

    -w :指定保存抓包文件的位置

    .cap:是一种无线网络数据包捕获文件的扩展名

    .cap文件需要保存到win系统打开

    sz lmn.cap

    动态抓包实验:

    tcpdump -i ens33 -s0 -w /opt/lmn1.cap

    动态抓包需要Ctrl+C手动停止

    PS:在工作中最好使用动态抓包。

    firewalld防火墙

    查看防火墙的默认区域

    查看默认区域的所有规则

    block限制区,所有流量都会被拒绝

    dmz:隔离区,也叫非军事区,只会运行预定服务,ssh等系统预设服务,其余都会拒绝

    drop:丢弃区,丢弃所有传入流量,而且没有任何相应

    external:外部区域,允许系统预设的服务,ssh,其他的全部拒绝

    home:家庭区域,只允许预设的服务,其他的全部拒绝

    internal:内部区域,和家庭区域一样

    public:公共区域,也是firewalld的默认区域,也是允许预设服务ssh,其他的全部拒绝

    trusted:信任区域,允许所有的传入流量

    work:工作区域,只会允许预定义服务的流量传入,其他全部拒绝

    curl 192.168.86.10

    查看命令访问httpd

    修改默认区域

    firewalld-cmd --set-default-zone=区域名

    指定服务添加到区域内:

    firewalld-cmd --

    添加多个服务到指定区域内

    在指定区域删除服务

    以上添加服务方法是临时添加,防火墙重启一下就全没了

    此命令是永久添加服务到防火墙的指定区域

    删除永久服务配置

    添加端口到指定区域

    添加多个端口到指定区域

    范围添加端口到指定区域

  • 相关阅读:
    bat脚本启动Java服务
    【疑问解决】- 源码Enmu枚举类的toString里面的name是哪里来的,什么时候传入的?
    零基础html学习-第五期
    342.4的幂
    idea意外退出mac
    海外监管机构出手制裁DeFi,去中心化成伪命题了吗?波卡将何去何从?
    javafx-webview加载网页后滚动条自动滚动到指定位置
    k3s 快速入门 - 集群搭建
    折柱混合图的多种用法
    【opencv-c++】FastLineDetector快速线段检测器
  • 原文地址:https://blog.csdn.net/m0_75000405/article/details/134300085