stai和dnta
snat:源地址转换
内网---外网 内网ip转换成可以访问外网的ip
内网的多个主机可以使用一个有效的公网ip地址访问外部网络
DNAT:目的地址转发
外部用户,可以通过一个公网地址访问服务内部的私网服务。
私网的ip和公网ip做一个映射。
iptables -t nat -A POSTROUTING -s 192.168.233.0/24 -o ens36 -j SNAT --to 10.0.0.10
-t nat 指定为nat表
-s 指定原ip
-o 指定输出网络设备
-j 控制类型 SNAT
--to 指定整个网络192.168.233.0/24从ens36出去时,做源地址转换,转换成10.0.0.10
DNAT
iptables -t nat -A PREROUTING -d 11.0.0.11 -i ens36 -p tcp --dport 80 -j DNAT --to 192.168.233.10:90
-d 11.0.0.11 指定做为目的地址转换的ip地址
-i 从指定的设备进入本机
-p 指定协议
-dport 指定端口
-j DNAT使用目的地址转换
--to 192.168.233.10
外网想要访问内网的192.168.233.10:80的这个服务。只需要访问11.0.0.11就可以访问内网的web服务
12.0.0.100 11.0.0.11 192.168.233.10
在linux当中如何抓包
tcpdum就是linux自带的抓包工具。(最小化安装是不带的,需要额外安装)
静态和动态
静态:
tcpdump tcp -i ens33 -t -s0 -c 10 and dst port 80 amd src net 1192.168.233.0/24v -w/opt/target.cap
-tcp 指定抓包的协议udp icmp第一个参数,可以不指定协议
-i 只抓经过设备的包
-t 不显示时间戳
-s0 抓完整的数据包
-c 10抓几个数据包 10
dst port 指定抓包的目的端口
src net 192.168.233.0/24:指定抓包的ip地址
net 网段
host主机(ip地址)
src hotst 192.168.233.10
-w 保存指定路径‘
如果使用wireshark对数据包进行分析,tcpdump在抓包时,要使用-s0抓取完整格式,否则wireshark无法分析。
备份iptables设置
格式: iptables-save >/指定的文件
[root@test1 opt]# iptables-save >/opt/iptables.bak
若想永久修改只需要将备份的iptables文件重定向输入到默认配置文件(覆盖)
cat /opt/iptables.bak >/etc/sysconfig/iptables
或则将当前的设置修改为默认配置:
iptables-save >/etc/sysconfig/iptables
如何使用自定义链
iptables -N 链名 #添加自定义链
[root@test1 opt]# iptables -N ll
iptables -E 原链名 新链名 #给自定义链改
[root@test1 opt]# iptables -E ll lyh
iptables -vnL --line-numbers #查看表
[root@test1 opt]# iptables -vnL --line-numbers
iptables -D INPUT 1 #删除添加在系统链内的自定义规则
iptables -D 自定义链名 1 #删除自定义链当中的规则
iptables -X 自定义链名 #删自定义链