共计 1387 个字符,预计需要花费 4 分钟才能阅读完成。
SNAT(Source Network Address Translation 源地址转换) 是 Linux 防火墙的一种地址转换操作,也是 iptables 命令中的一种数据包控制类型,其作用是根据指定条件修改数据包的源 IP 地址。
DNAT(Destination Network Address Translation 目标地址转换) 是 Linux 防火墙的另一种地址转换操作,同样也是 iptables 命令中的一种数据包控制类型,其作用是可以根据指定条件修改数据包的目标 IP 地址和目标端口。
实验描述
需求分析:
- DNSserver 搭建分离解析;
- 内网解析 www.yun.com 为 192.168.100.88;
- 外网解析 www.yun.com 为 12.0.0.1;
- 利用 SNAT 和 DNAT 实现网址转换成 eth1 端口 IP;
- 使得内外网 pc 机均可使用 www.yun.com 域名访问;
实验环境:
- DNSserver 采用 DNS 分离解析;
- 内网 WEB 服务器提供 Apache 网站服务;
- Apache 版本 2.2;
- Linux 系统版本 RedHat6.5;
实验部署
1、搭建 DNS 分离解析
为 DNSserver 搭建分离解析服务,并设置解析域名为 ”www.yun.com” 详细过程可参见 DNS 分离解析服务。
设定 eth0 为内网网卡,eth1 为外网网卡。
2、iptables 防火墙规则设置
搭建完成 DNS 分离解析,为了使服务器启动路由转发功能:
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 // 设置为 1,开启路由转发功能
sysctl -p // 刷新 sysctl.conf 文件,使修改立即生效
①SNAT 实现内网访问外网地址转换成 eth1 地址
iptables -F // 清空防火墙默认规则
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth1 -j SNAT –to-source 12.0.0.1
// 将内网 pc 机访问外网时 IP 均变为 12.0.0.1
②DNAT 实现外网访问内网地址转换成 eth1 地址
iptables -t nat -A PREROUTING -i eht1 -d 12.0.0.1 -p tcp –dport 80 -j DNAT –to-destination 192.168.100.88
// 让外网 pc 访问外网网卡 eth1 即可转发到内网 web 服务器上。
此处列举外网 pc 机配置和访问情况:
iptables 防火墙工作原理及知识点图文详解 https://www.linuxidc.com/Linux/2018-08/153567.htm
iptables 防火墙网路安全实践配置 https://www.linuxidc.com/Linux/2018-08/153549.htm
iptables 基本操作笔记 https://www.linuxidc.com/Linux/2017-12/149195.htm
Iptables 防火墙规则使用详解 https://www.linuxidc.com/Linux/2018-08/153378.htm
iptables 用法及常用模块总结 https://www.linuxidc.com/Linux/2017-10/147347.htm
CentOS7 下 iptables 配置过程 https://www.linuxidc.com/Linux/2017-01/139622.htm
: