1. 程式人生 > >SNAT與DNAT

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"
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 [email protected] -p 2333