博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SNAT与DNAT
阅读量:6565 次
发布时间:2019-06-24

本文共 2651 字,大约阅读时间需要 8 分钟。

一、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"

NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114

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]

name=local
baseurl=file:///mnt
gpgcheck=0

6)mount /dev/cdrom /mnt

7)yum -y install elinks

二、部署Linux网关

alt+.(补齐上条命令参数)

1)vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"

NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR=192.168.1.1
NETMASK=255.255.255.0

2)cp /etc/sysconfig/network-scripts/ifcfg-eth1

3)vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE="eth1"

NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO="dhcp"

/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"

NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR=192.168.1.10
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114

/etc/init.d/iptables stop

/etc/init.d/network restart

二、部署Linux网关

alt+.(补齐上条命令参数)

1)vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"

NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO="static"
IPADDR=192.168.1.1
NETMASK=255.255.255.0

2)cp /etc/sysconfig/network-scripts/ifcfg-eth1

3)vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE="eth1"

NM_CONTROLLED="no"
ONBOOT="yes"
BOOTPROTO="dhcp"

/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 root@192.168.10.231 -p 2333

转载于:https://blog.51cto.com/13770300/2312342

你可能感兴趣的文章
修改纵断面图标注栏
查看>>
Flex创建带有空间信息的椭圆(Polygon)
查看>>
Centos7.1环境下搭建BugFree
查看>>
共用y轴的双图形绘制
查看>>
第31讲 | 数字货币钱包服务
查看>>
P2073 送花
查看>>
iOS端项目注释规范附统一代码块
查看>>
HTTP深入浅出 http请求
查看>>
为YUM设置代理的方法
查看>>
Java 编程的动态性 第1 部分: 类和类装入--转载
查看>>
【转】持久化消息队列之MEMCACHEQ
查看>>
Dom4j学习笔记
查看>>
C语言 HTTP上传文件-利用libcurl库上传文件
查看>>
[MEAN Stack] First API -- 7. Using Route Files to Structure Server Side API
查看>>
调试逆向分为动态分析技术和静态分析技术(转)
查看>>
业务对象和BAPI
查看>>
微软职位内部推荐-Senior Software Engineer
查看>>
程序中的魔鬼数字
查看>>
session cookie
查看>>
$.extend({},defaults, options) --(初体验三)
查看>>