SNAT和DNAT原理与应用

iptables的备份和还原
1.写在命令行当中的都是临时配置。
2.把我们的规则配置在

备份(导出):iptables-save > /opt/iptables.bak
默认配置文件:/etc/sysconfig/iptables
永久配置:cat /opt/iptables.bak > /etc/sysconfig/iptables
直接导入配置文件到flter表:iptables-restore < /opt/iptables.bak
注意:导入配置也是临时设置。重启即失效。要想永久生效,需写入配置文件:/etc/sysconfig/iptables
自定义链:
1.创建自定义链:iptables -N custom (没有指定表,默认在flter表中,添加一个自定义链"custom")
2.给自定义链改名:iptable -E 原链名 新链名
3.将自定义链创建规则后,系统是识别不到的,需要添加到默认链中:iptables -I INPUT -p icmp -j 自定义链名
删除自定义链:
如果自定义链的规则被系统默认链使用,要先在默认链当中删除,再把自定义链当中的规则删除,最后才能把自定义链删除。
删除自定义链:iptables -X 自定义链名
SNAT和DNAT (源地址转换和目标地址转换)
SNAT:源地址转换
内网到外网转换的是源地址
SNAT和DNAT原理与应用_第1张图片
SNAT和DNAT原理与应用_第2张图片

DNAT:目标地址转换
外网到内网转换的是目的地址 (把内部服务器的ip地址转换成一个所有人都可以访问的地址)

SNAT和DNAT原理与应用_第3张图片

SNAT和DNAT原理与应用_第4张图片
DNAT的转换
1.DNAT转换------发布内网的Web服务
#把从ens33进来的要访问web服务的数据包目的地址转换为 192.168.80.10
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.233.21

iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.233.21
入站 外网网卡 外网IP 内网服务器IP
iptables -t nat -A PREROUTING -i ens33 -p tcp --dport 80 -j DNAT --to 192.168.233.10-192.168.233.100

2、DNAT转换2------发布时修改目标端口
#发布局域网内部的OpenSSH服务器,外网主机需使用250端口进行连接
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 250 -j DNAT --to 192.168.233.21:22

#在外网环境中使用SSH测试
ssh -p 250 [email protected]

yum -y install net-tools #若没有 ifconfig 命令可提前使用 yum 进行安装
ifconfig ens33

注意:使用DNAT时,同时还要配合SNAT使用,才能实现响应数据包的正确返回

/etc/sysctl.conf :修改配置,可以修改内核参数,永久生效

linux系统如何抓包:
面试题,也是实用技能
tcpdump 来实现linux抓包,是自带的工具。
tcpdump tcp -i ens33 -t -s0 -c 10 and dst port 80 and src net 20.0.0.0/24 -w /opt/target.cap
指定抓包的协议 :tcp
-i ens33 只抓经过ens33的数据包
-t:不显示时间戳
-s0:抓取完整的数据包
and:目的端口是80,and 20.0.0.0/24 数据包的源地址
-w把抓包的文件保存

tcpdump tcp -i ens33 -s0 -w ./ens33.cap
动态抓包

你可能感兴趣的:(服务器,网络,运维)