日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SNAT和DNAT原理及应用

發布時間:2024/3/24 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SNAT和DNAT原理及应用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

一、SNAT原理及應用

1:定義:

1.1;SNAT的典型應用環境:

1.2:SNAT策略的原理

2:SNAT策略的配置

2.1:SNAT轉換前提條件

2.2:Linux網關開啟IP路由轉發

3:示例

3.1:SNAT轉換1:固定的公網IP地址

3.2:SNAT轉換2:非固定的公網IP地址(共享動態IP地址)

3.3:小知識擴展:

二、DNAT原理及應用

1:定義:

1.1:DNAT策略的應用環境:

?1.2:DNAT策略的原理

2:DNAT策略的配置

2.1:DNAT轉換前提條件

2.2:DNAT轉換1:發布內網的Web服務

三、防火墻規則的備份和還原

1:規則的自動備份和加載

2:手動備份和還原

2.1:導出(備份)所有表的規則

2.2:導入(還原)規則

3:tcpdump—Linux抓包

四、總結


一、SNAT原理及應用

1:定義:

1.1;SNAT的典型應用環境:

局域網主機共享單個公網IP地址接入Internet。(私有IP不能在Internet中正常路由)

1.2:SNAT策略的原理

修改數據包的源地址

2:SNAT策略的配置

2.1:SNAT轉換前提條件

  • 局域網各主機已正確設置IP地址、子網掩碼、默認網關地址
  • Linux網關開啟IP路由轉
  • ?

    2.2:Linux網關開啟IP路由轉發

    1、臨時開啟:

    ?echo 1 > /proc/sys/net/ipv4/ip_forward

    ?或

    ?sysctl -w net.ipv4.ip_forward=1

    2、永久開啟:

    ?vim /etc/sysctl.conf

    ?net.ipv4.ip_forward=1 ? ?#將此行寫入配置文件 ??

    ?sysctl -p ? ? #讀取修改后的配置

    3:示例

    3.1:SNAT轉換1:固定的公網IP地址

    #配置SNAT策略,實現SNAT功能,將所有192.168.72.0這個網段內的ip的源地址改為12.0.0.2 ?iptables -t nat -A POSTROUTING -s 192.168.72.0/24 -o ens33 -j SNAT --to 12.0.0.2 ?

    ?或

    ?iptables -t nat -A POSTROUTING -s 192.168.72.0/24 -o ens33 -j SNAT --to-source 12.0.0.2-12.0.0.10 ?

    ? ?#-A POSTROUTING 指定POSTROUTING鏈

    ?#-s 192.168.72.0/24 源地址所處的網段(內網IP)

    ?#-o ens33 出站網卡

    ?#-j SNAT

    #--to 12.0.0.2 ? 外網IP

    ?#--to-source 12.0.0.2-12.0.0.10 ? 外網地址池

    3.2:SNAT轉換2:非固定的公網IP地址(共享動態IP地址)

    ?iptables -t nat -A POSTROUTING -s 192.168.72.0/24 -o ens33 -j MASQUERADE

    3.3:小知識擴展:

    一個IP地址做SNAT轉換,一般可以讓內網100到200臺主機實現上網

    二、DNAT原理及應用

    1:定義:

    1.1:DNAT策略的應用環境:

    在Internet中發布位于企業局域網內的服務器

    ?1.2:DNAT策略的原理

    修改數據包的目標地址

    2:DNAT策略的配置

    2.1:DNAT轉換前提條件

  • 局域網的服務器能夠訪問Internet
  • 網關的外網地址有正確的DNS解析記錄
  • Linux網關開啟IP路由轉發
  • vim /etc/sysctl.conf

    ?net.ipv4.ip_forward=1 ? ?#將此行寫入配置文件 ?

    ? sysctl -p ? ? #讀取修改后的配置

    2.2:DNAT轉換1:發布內網的Web服務

    ?#把從ens33進來的要訪問web服務的數據包目的地址轉換為 192.168.72.10 ?iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.254 -p tcp --dport 80 -j DNAT --to 192.168.72.102

    ?或

    ?iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.254 -p tcp --dport 80 -j DNAT --to 192.168.72.10-192.168.72.20 ??

    ?#-A PREROUTING ? ? ? //修改目標地址的鏈?

    #-i ens33 ? ? ? ? ?//入站網卡

    ?#-d 12.0.0.254 ? ? ? //數據包的目的地址

    ?#-p tcp --dport 80 ? //數據包的目的端口 ?

    #-j DNAT ? ? ? ? ? ? //使用DNAT功能

    ?#--to 192.168.109.11 //內網服務器IP

    三、防火墻規則的備份和還原

    1:規則的自動備份和加載

    iptables有一個默認備份文件 /etc/sysconfig/iptables ,iptables服務在每次重啟后會自動加載該文件。

    ?#將iptables規則文件保存在 /etc/sysconfig/iptables,iptables服務啟動時會自動還原規則。 ?iptables-save > /etc/sysconfig/iptables ?

    systemctl stop iptables ? #停止iptables服務會清空掉所有表的規則

    ?systemctl start iptables ?#啟動iptables服務會自動還原/etc/sysconfig/iptables中的規則

    2:手動備份和還原

    自動備份并加載,只能還原最新的防火墻規則。

    如果手動備份,例如每天生成一個以日期為名稱的備份文件,那么在還原時可以有選擇地進行還原。比如選擇上個月某一天的規則文件進行導入還原。

    2.1:導出(備份)所有表的規則

    ?iptables-save > /opt/ipt.txt

    2.2:導入(還原)規則

    ?iptables-restore < /opt/ipt.txt

    3:tcpdump—Linux抓包

    wireshark 抓包工具只在windows中使用。

    tcpdump 可以在Linux系統中使用。

    tcpdump tcp -i ens33 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap

    (1)tcp∶ ip、icmp、arp、rarp 和 tcp、udp、icmp這些選項等都要放到第一個參數的位置,用來過濾數據報的類型。

    (2)-i ens33 :只抓經過接口ens33的包。

    (3)-t:不顯示時間戳

    (4)-s 0 :抓取數據包時默認抓取長度為68字節。加上"-s 0"后可以抓到完整的數據包。

    (5)-c 100 :只抓取100個數據包。

    (6)dst port ! 22 :不抓取目標端口是22的數據包。

    (7)src net 192.168.1.0/24 :數據包的源網絡地址為192.168.1.0/24。Net:網段,host:主機。

    (8)-w ./target.cap ∶ 保存成cap文件,方便用ethereal (即wireshark)分析。

    四、總結

    SNAT源地址轉換過程(針對客戶端)

    DNAT源地址轉換過程(針對服務器)

    總結

    以上是生活随笔為你收集整理的SNAT和DNAT原理及应用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。