SNAT和DNAT

1.什么是SNAT和DNAT

        SANT:源地址转换

        DNAT:目的地址转换

2.配置地址转换

SNAT和DNAT_第1张图片

构造图

全部主机:

systemctl stop firewalld

setenforce 0

test2:

cd /etc/sysconfig/network-scripts/

cp ifcfg-ens33 ifcfg-ens36

vim ifcfg-ens33

SNAT和DNAT_第2张图片

vim ifcfg-ens36

SNAT和DNAT_第3张图片

systemtcl restart network

test1:yum -y install httpd

systemtcl restart httpd

cd /etc/sysconfig/network-scripts/

vim ifcfg-ens33

SNAT和DNAT_第4张图片

systemtcl restart network

test3:yum -y install httpd

cd /etc/sysconfig/network-scripts/

systemtcl restart httpd

vim ifcfg-ens33

SNAT和DNAT_第5张图片

systemtcl restart network

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

-t 指定的表明

nat:地址转换的表明

-A 添加一条规则,在行尾追加

POSTROUTING:在出本机的时候添加一个地址转换的规则

-s 192.168.233.0/24 :指定源ip地址

-o ens36:从网卡设备ens36出去的数据都会做转换

-j SNAT:指定控制类型,源地址转换

--to 10.0.0.10 所有的源ip属于233.0这个网段,只有你是从ens33出来的,都会把他们的ip地址转换成10.0.0.10

iptables -t nat -vnL

vim /etc/sysctl.conf

修改内核参数的文件,可以立即生效(会考)

net.ipv4.ip_forward=1 开启内核转发功能

sysctl -p :即刻生效

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

-t nat:指定地址转换表

-A PREROUTING:在进入本机之前之后添加地址转换的规则

-d 11.0.0.11:指定目的地址

-i ens36 进入内网的设备接口

-p tcp 指定协议

--dport 指定目的端口 80

-j DNAT:转换目的地址

--to 192.168.233.10 :80 只要是从ens36这个网络接口进入本机内网的ip地址,访问内网服务http的80端口,目的ip地址都可以转换成11.0.0.11

iptables -t nat -vnL

3.linux能抓包吗?

tcpdump是linux自带的抓包工具

wrieshark只适用于windows

抓包方式:1.指定抓包的数量

                  2.动态抓包,一直会获取除非人工停止

        3.1指定抓包

        tcpdump tcp -i ens33 -t -s0 -c 10 and dst port 80 and src net 192.168.233.0/24 -w ./target.cap        #这是就是指定抓包的数量 10个包

        -l:经过,只抓经过ens33的数据包

        -t 不显示时间戳

        -s0 抓完整的数据包

        -c 指定抓包的个数

        dst port 80 访问的是httpd 80

        src net 192.168.233.0/24

        -w 抓包的数据,保存位置。

        3.2防火墙区域

        1.trusted:信任区,所有流量都可以传入

        2.public:公共区域,允许ssh或者dhcpv6-client的流量可以传入,其他的全部拒绝,也是firewalld的默认区域

        3.external:外部区域,允许ssh或者dhcpv6-client的流量可以传入,其他的全部拒绝,默认通过此区域转发的ipv4流量地址,可以进行伪装

        4.home 家庭区域,,允许ssh或者dhcpv6-client的流量可以传入,其他的全部拒绝

        5.internal:内部区域,默认值与home区域的作用相同

        6.work工作区域,允许ssh或者dhcpv6-client的流量可以传入,其他的全部拒绝( dhcpv6-client:获取ipv6地址的客户端的工具)

        7.DMZ隔离区 非军事区:允许ssh,其他的预定义好的配置,其他的全部拒绝

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

        9.drop:丢弃区域,所有流量都会丢弃,没有任何响应

        3.3防火墙配置规则

        systemctl restart firewalld

        systemctl status firewalld

        yum -y install httpd

        systemctl restart httpd

        firewall-cmd --get -default-zone #显示当前系统中的默认区域

        firewalld-cmd --list-all #显示默认区域内的所有规则

        3.4访问区域内的服务

        firewalld-cmd --list-service #查看区域内允许通过的服务

        firewalld-cmd --add-service=http --zone=public 添加策略

        firewalld-cmd --remove-service=http --zone=public 删除

        firewalld-cmd --add-service=http --add-service=ftp --zone=public

        firewalld-cmd --list-services

        firewalld -cmd --add-service={ftp,http}

        以上都是临时添加

        firewalld -cmd --add-service={ftp,http} --zone=public --permanent #永久生效

        firewalld -cmd --reload

        firewalld-cmd --list-all

        firewalld-cmd --remove-service=http --zonpublic --permanent #永久删除

        3.5端口管理

        firewalld-cmd --zone=public --add-port=80/tcp

        firewalld-cmd --zone=public --remove-port=80/tcp

        firewalld-cmd --zone=public

        firewalld-cmd --add-port={3306,80,21}/tcp

你可能感兴趣的:(网络)