SNAT与DNAT
一、SNAT
OSI七层模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 TCP/IP 五层 应用层 传输层 网络层 数据链路层 物理层 SNAT作用: 1)实现局域网共享IP实现上网 2)隐藏内部主机 SNAT原理:通过修改数据包的源IP地址(修改为公网IP) SNAT实现方式: 1)硬件级路由器 2)硬件级防火墙 3)软件级防火墙:vim /etc/sysctl.conf --> net.ipv4.ip_forward = 1(开启路由转发) --> sysctl -p SNAT规则 1)iptables -t nat -A POSTROUTING -s 内网IP -j SNAT --to-source 公网IP //适用于静态公网IP地址 2)iptables -t nat -A POSTROUTING -s 内网IP -j MASQUERADE //适用于动态公网IP地址 案例: 二台服务器,一台内网(vmnet1)、一台Linux网关服务器(两块网卡、vmnet1、桥接) 一、部署内网服务器 1)vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" 2)/etc/init.d/iptables stop 3)/etc/init.d/network restart 4)rm -rf /etc/yum.repos.d/* 5)vim /etc/yum.repos.d/local.repo [local] 6)mount /dev/cdrom /mnt 7)yum -y install elinks 二、部署Linux网关 alt+.(补齐上条命令参数) 1)vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" 2)cp /etc/sysconfig/network-scripts/ifcfg-eth1 3)vim /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE="eth1" /etc/init.d/iptables stop /etc/init.d/network restart 4)vim /etc/sysctl.conf net.ipv4.ip_forward = 1 5)sysctl -p 6)iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 192.168.10.34 三、测试 内网服务器:elinks www.baidu.com || ping www.baidu.com 二、DNAT DNAT作用 1)发布内部主机,使公网客户端可访问内网 2)隐藏内部主机 注:DNAT需配合DNS使用,将域名解析到公网IP DNAT原理:通过修改数据包的目的IP地址(修改为公网IP) DNAT实现方式: 1)硬件级路由器 2)硬件级防火墙 3)软件级防火墙:vim /etc/sysctl.conf --> net.ipv4.ip_forward = 1(开启路由转发) --> sysctl -p 案例: 二台服务器,一台内网(vmnet1)、一台Linux网关服务器(两块网卡、vmnet1、桥接) 实现公网访问内网的ssh 一、部署内网服务器 vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" /etc/init.d/iptables stop /etc/init.d/network restart 二、部署Linux网关 alt+.(补齐上条命令参数) 1)vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" 2)cp /etc/sysconfig/network-scripts/ifcfg-eth1 3)vim /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE="eth1" /etc/init.d/iptables stop /etc/init.d/network restart 4)vim /etc/sysctl.conf net.ipv4.ip_forward = 1 5)sysctl -p 6)iptables -t nat -I PREROUTING -d 192.168.10.231 -p tcp --dport 2333 -j DNAT --to-destination 192.168.1.10:22 三、测试 公网:ssh [email?protected] -p 2333 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Bootstrap Admin Template For aowana.com
- SHELL训练营--day20_shell练习41-45
- bash – 在shell脚本中启动末尾
- 什么是系统调用,系统调用的过程
- scala – (run-main-0)java.lang.NoSuchMethodError
- 在Angular 4中使用权限的最佳方法是什么?
- 转载 三种主流的WebService实现方案(REST/SOAP/XML-RPC)简
- scala – Actor和Future:引用onComplete中的actor消息
- 如何从shell脚本执行MySQL命令?
- 《数据结构》严蔚敏.吴伟民P63-65.循环队列