SNAT策略的原理
源地址转换,Source Network Address Translation
修改数据包的源IP地址
1.准备一台局域网里的主机做客户机,配置好ip、子网掩码,网关,dns服务器地址
局域网各主机正确设置IP地址/子网掩码
局域网各主机正确设置默认网关地址/dns服务器地址
内网的虚拟机网卡模式可以是hostonly或者nat或者桥接
linux网关路由器的LAN口使用和内网的虚拟机网卡模式一样
本次实验,内网的虚拟机网卡使用桥接模式
1.1在Linux客户机上配置ip地址
BOOTPROTO="none"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR1=192.168.40.22
PREFIX=24
DNS1=114.114.114.114
GATEWAY1=192.168.40.2
刷新网络服务
service network restart
测试能否和网关通信
ping 192.168.40.2
1.2linux网关服务器的配置
配置LAN口的ip地址和子网掩码,不配置网关和dns服务器地址
BOOTPROTO="none"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.40.2
PREFIX=24
刷新网络服务
配置WAN口的ip地址、子网掩码、网关和dns服务器地址
因为新添加的网卡,默认在系统里没有配置文件,我们需要根据ens33的网卡配置文件,创建一个文件,注意名字要和网卡的名字对应
cp ifcfg-ens33 ifcfg-ens34
BOOTPROTO="none"
NAME="ens36"
DEVICE="ens36"
ONBOOT="yes"
IPADDR=192.168.1.123
PREFIX=24
GATEWAY=192.168.1.1
DNS1=114.114.114.114
刷新网络服务
测试linux网关服务器能否上网
ping www.baidu.com
1.3 在linux网关服务器上
1)开启网关主机的路由转发功能
临时开启 :echo 1 >/proc/sys/net/ipv4/ip_forward
永久开启:修改内核参数文件/etc/sysctl.conf
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p 让linux系统的内核读取新的配置,开启路由功能
2)添加使用SNAT策略的防火墙规则
编写snat策略的脚本 vim snat.sh
#!/bin/bash
#清除filter和nat表里的防火墙规则
iptables -t filter -F
iptables -t nat -F
#开启路由功能
echo 1 >/proc/sys/net/ipv4/ip_forward
#添加SNAT策略
iptables -t nat -A POSTROUTING -s 192.168.40.0/24 -o ens34 -j SNAT --to-source 192.168.1.123
bash snat.sh 执行脚本
iptables -t nat -L -n 查看nat表里的规则
3)在客户机上验证是否可以访问百度
测试与网关通信
测试与linux网关路由器的wan口通信
测试与无线路由器是否可以通信
ping www.baidu.com 测试能否上网
4)在linux网关服务器上使用tcpdump抓包,查看snat效果,修改ip包里的源ip地址
tcpdump -i ens36 icmp -nn
标签:linux,网关,Internet,ip,IP地址,192.168,网卡,公网,服务器 From: https://www.cnblogs.com/Himawari/p/17278226.html