SNAT和DNAT

自定义链:iptables还可以做地址转换

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

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

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

内到外,要换源

外到内,转目的

SNAT和DNAT_第1张图片

三台服务器

test1:内网服务器192.168.246.10

test2:网关服务器192.168.246.11

test3:外网服务器12.0.0.10

SNAT和DNAT_第2张图片

/etx/sysctl.conf修改内核参数的文件,可以使参数配置立刻生效。

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

iptables:固定格式开头

-t nat:使用地址转换表

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

-s 192.168.246.0/24:整个网段作为源ip地址

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

-j SNAT:做源地址转换

--to:转换成10.0.0.10

iptables -t nat -A PREROUTING -d 11.0.0.11 -i ens36 -ptcp --dport 80 -j DANT --to 192.168.246.10:80

-t nat:使用地址转换表

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

-d:指定目的地址:11.0.0.11

-p tcp:指定协议

--dport:目的端口,80

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

--to 192.168.246.10:80访问11.0.0.11就等于请求内网192.168.246.10:80的httpd服务。

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

tcpdump linux自带的抓包工具

两种方式:

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

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

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

tcpdump抓包命令

tcp:指定协议

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

-t:不显示时间戳

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

-c 10:只抓10的数据包

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

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

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

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

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

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

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

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

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

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

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

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

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

你可能感兴趣的:(linux,笔记)