Linux之路由轉(zhuǎn)發(fā)和SNAT的應(yīng)用方式
1.SNAT的介紹
SNAT又稱源地址轉(zhuǎn)換。源地址轉(zhuǎn)換是內(nèi)網(wǎng)地址向外訪問時,發(fā)起訪問的內(nèi)網(wǎng)ip地址轉(zhuǎn)換為指定的ip地址(可指定具體的服務(wù)以及相應(yīng)的端口或端口范圍),這可以使內(nèi)網(wǎng)中使用保留ip地址的主機訪問外部網(wǎng)絡(luò),即內(nèi)網(wǎng)的多部主機可以通過一個有效的公網(wǎng)ip地址訪問外部網(wǎng)絡(luò)。
真實環(huán)境運用中私網(wǎng)可以通過路由轉(zhuǎn)發(fā),將數(shù)據(jù)包傳送給公網(wǎng)IP地址的服務(wù)器,而公網(wǎng)地址無法將相應(yīng)的數(shù)據(jù)包回還給私網(wǎng)地址的用戶。
此時二者之間需要一個媒介,就是一個建立在私網(wǎng)和公網(wǎng)之間的網(wǎng)關(guān)服務(wù)器,對其之間的數(shù)據(jù)包進行相應(yīng)的處理。來完成私網(wǎng)IP與公網(wǎng)IP之間的建立聯(lián)系

SNAT源地址轉(zhuǎn)換過程:
- 數(shù)據(jù)包從內(nèi)網(wǎng)發(fā)送到公網(wǎng)時,SNAT會把數(shù)據(jù)包的源地址由私網(wǎng)IP轉(zhuǎn)換成公網(wǎng)IP。
- 當(dāng)相應(yīng)的數(shù)據(jù)包從公網(wǎng)發(fā)送到內(nèi)網(wǎng)時,會把數(shù)據(jù)包的目的地址由公網(wǎng)IP轉(zhuǎn)換為私網(wǎng)IP。
- 當(dāng)內(nèi)網(wǎng)有多臺主機訪問外網(wǎng)時,SNAT在轉(zhuǎn)換時會自動分配端口,不同內(nèi)網(wǎng)主機會通過端口號進行區(qū)分。
2.SNAT實驗的部署設(shè)計
運用SNAT策略將局域網(wǎng)中的客戶機IP封裝為網(wǎng)關(guān)服務(wù)器的外網(wǎng)IP,訪問web服務(wù)器的http服務(wù)

3.具體實驗步驟
第一步:做好實驗前的虛擬機設(shè)置
在這里我準備了三臺虛擬機依次將它們當(dāng)作客戶機,web服務(wù)器和網(wǎng)關(guān)服務(wù)器來使用

1. 網(wǎng)關(guān)服務(wù)器的設(shè)置
- 1.1 添加網(wǎng)卡,修改vmnet

- 1.2 修改ens33 為網(wǎng)關(guān)服務(wù)器的內(nèi)網(wǎng)網(wǎng)卡

- 1.3 修改新加網(wǎng)卡ens36(這里添加的網(wǎng)卡是什么就用什么)
yum install -y httpd systemctl restart httpd

以上操作結(jié)束后,重啟網(wǎng)卡
2. 客戶機設(shè)置模擬

3. web服務(wù)器設(shè)置
- 3.1 配置網(wǎng)卡

- 3.2 下載http服務(wù)并且開啟
yum install -y httpd systemctl restart httpd
第二步:網(wǎng)關(guān)服務(wù)器設(shè)置同意路由轉(zhuǎn)發(fā)
#永久啟用 vim /etc/sysctl.conf net.ipv4.ip_forward=1 sysctl -p #臨時開啟 echo 1 > /proc/sys/net/ipv4/ip_forward 或 sysctl -w net.ipv4.ip_forward=1

第三步:關(guān)閉防火墻和syslinux,客戶機初步訪問web服務(wù)器httpd服務(wù)
運用Linux的火狐瀏覽器,直接通過IP進行訪問:

查看web服務(wù)器的http訪問日志:
#追蹤更新訪問者訪問httpd服務(wù)的日志 tail -f /var/log/httpd/acces_log

這是由虛擬機模擬的內(nèi)網(wǎng)外網(wǎng)環(huán)境,與真實環(huán)境有一些出入,如果在真實環(huán)境中,私網(wǎng)IP是不會在公網(wǎng)服務(wù)器上留下訪問痕跡。
同時:并沒有達到實驗最終目的,還需要進一步的SNAT源地址轉(zhuǎn)換
第四步 :SNAT源地址轉(zhuǎn)換
[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.73.0/24 -o ens36 -j SNAT --to 12.0.0.254

第五步:再次訪問,且查看web服務(wù)器日志

總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
linux系統(tǒng)實現(xiàn)重啟網(wǎng)卡命令
本文介紹了三種在Linux系統(tǒng)中重啟網(wǎng)卡的方法,包括使用服務(wù)命令、ifconfig命令以及ifdown/ifup命令,這些方法可以幫助系統(tǒng)管理員在維護或故障排除時快速恢復(fù)網(wǎng)絡(luò)連接2025-10-10
Linux系統(tǒng)中CPU占用率較高問題排查思路與解決方法
這篇文章主要給大家介紹了關(guān)于Linux系統(tǒng)中CPU占用率較高問題排查思路與解決方法,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用Linux具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Linux安裝Python虛擬環(huán)境virtualenv的方法
下面小編就為大家?guī)硪黄狶inux安裝Python虛擬環(huán)境virtualenv的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01
CentOS7 + node.js + nginx + MySQL搭建服務(wù)器全過程
這篇文章主要介紹了關(guān)于CentOS7 + node.js + nginx + MySQL搭建服務(wù)器的全過程,文章通過一步步的步驟進行介紹的很詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-03-03
在Linux服務(wù)器上使用Speedtest官方CLI測試帶寬的小白教程
在日常工作中,我們經(jīng)常需要測試服務(wù)器的帶寬和網(wǎng)絡(luò)速度,很多小白可能只知道 speedtest-cli,但現(xiàn)在官方推薦使用 Ookla 官方 CLI,更穩(wěn)定、準確,因此本文介紹如何使用Ookla官方CLI測試服務(wù)器帶寬和本地電腦到服務(wù)器的延遲,需要的朋友可以參考下2026-05-05

