Linux下搭建SNAT,DNAT實驗

SNAT:局域網共享一個公網IP接入lnternel。mysql

意義:linux

一、保護內網用戶安全,能被外界掃描的只有防火牆這一臺機器,這樣就減小了被攻擊的可能。nginx

二、Ipv4地址匱乏,不少公司只有一個ipv4地址,可是卻有幾百個用戶須要上網,這個時候就須要使用SNAT。web

三、節約成本,公網地址須要付費,使用SNAT只須要一個公網ip就能夠知足幾百人同時上網。sql

DNAT:向internel發佈內網服務器數據庫

意義:vim

在內網中有服務器,若是想讓公網用戶訪問有有兩種方法。安全

1.MASQUERADE(地址假裝)策略 --》適合與外網口動態得到ip地址的場景bash

1、SNAT

1.準備三臺虛擬機,一臺配置兩塊網卡,其中第二個網卡配置hostonly(僅主機)模式
網絡配置


服務器

 

2、配置好ip,網關和dns服務器,router機器開啓路由功能。

(1)route機器

在  /etc/sysconfig/network-script 下修改ens33配置      

刷新網卡

ifdown ens33
ifup ens33

  由於新配置的第二塊網卡沒有相應的配置文件,因此咱們要手動去新建一個ifcfg-ens37   

刷新網卡

ifdown ens37
ifup ens37
#再查看ip地址 
ip add
#開啓路由功能  --》成爲路由器
#臨時開啓
echo 1 >/proc/sys/net/ipv4/ip_forward     1表示開啓  0 關閉  默認是0

#永久生效的話,須要修改sysctl.conf:
vim /etc/sysctl.conf
# 添加
net.ipv4.ip_forward = 1

sysctl -p 
# 讓內核從新讀取/etc/sysctl.conf配置文件裏的內容,開啓路由功能
#net.ipv4.ip_forward = 1

3、配置snat策略,開啓snat功能

# route機器上

#臨時開啓路由功能
echo  1 >/proc/sys/net/ipv4/ip_forward
#在iptables裏添加一條snat的轉發策略,讓內網 192.168.82.0的網絡從ens33接口出去,出去的時候將源ip地址轉換爲192.168.0.159
iptables -t nat  -A POSTROUTING  -s  192.168.82.0/24 -o ens33 -j SNAT --to-source 192.168.0.159

2、DNAT實驗


一.內網準備一臺 web和mysql服務器

mysql機器上安裝數據庫 mariadb或mysql

yum install nginx  mariadb mariadb-server

service mariadb start

受權一個能夠遠程鏈接的mariadb的帳戶

mysql -uroot -p
#回車鍵mariadb默認是不須要輸入密碼的

MariaDB [(none)]> grant all on *.* to 'wangsy'@'%' identified by '123456';
Query OK, 0 rows affected (0.001 sec)

2、在linux網關服務器上
        1.開啓路由功能
        2.添加DNAT策略
腳本文件


#!/bin/bash

#清除原來的規則
iptables -F
iptables -t nat -F

#臨時開啓路由功能
echo 1 >/proc/sys/net/ipv4/ip_forward


#dnat策略-mysql

iptables -t nat -A PREROUTING  -i ens33 -d 192.168.0.159 -p tcp  --dport 3306  -j DNAT --to-destination 192.168.82.129

# dnat -web
iptables -t nat -A PREROUTING  -i ens33 -d 192.168.0.159 -p tcp  --dport 80  -j DNAT --to-destination 192.168.82.129

運行腳本。

3、驗證

在sqlyog上能鏈接新建的用戶就成功了

相關文章
相關標籤/搜索