1. 程式人生 > >iptables nat 表應用,

iptables nat 表應用,

iptables nat 表應用

  • 做一個試驗,準備兩臺虛擬機器 A,B
  • A 有準備兩塊網絡卡,一塊連線外網,一塊連線內網
  • B 只准備一塊網絡卡連線內網
  • 目標是讓 B 連線外網
  • 要達到這個目標,首先需要讓 A, B兩臺機器可以通訊
  • 然後讓 A 作為路由器,這樣 B 就可以通過A 連線外網
  • 如圖,這是兩臺虛擬機器
  • 如圖,首先在虛擬機器01 這裡點選 編輯虛擬機器設定
  • 如圖,點選新增
  • 點選 網路介面卡,然後點 完成
  • 如圖,選擇 網路介面卡 2 ,右邊選項裡面,選擇 LAN 區域
  • 選擇了 LAN 區域後,需要設定一個內網交換機才行
  • 如圖,點選 LAN區段(S)... 按鍵,出現左邊方框
  • 點選新增,然後就出現一個自定義名稱的交換機,我們命名為 交換機,然後點選確定
  • 配置好第二塊網絡卡,就點選 確定
  • 如圖,選擇第二個虛擬機器
  • 點選 編輯虛擬機器設定
  • 按照上面的方法新增第二塊網絡卡,同樣右邊選擇 LAN 區段
  • 下面選擇 交換機,剛才建立的交換機在這裡可以直接選擇使用
  • 這樣 01 跟 02 兩臺機器就可以通過這個交換機進行通訊了
  • 因為 02 這臺電腦按照實驗設計應該是不能連線外網的
  • 所以選擇 第一塊網絡卡,這塊網絡卡是之前配置好,可以上外網的
  • 現在要讓它不連線網路,右邊點選 啟動時連線,把原來的 √ 去掉
  • 這樣系統啟動的時候,這塊網絡卡就不會連線網路了,然後點選 確定
  • 啟動虛擬機器01,進入系統後,輸入 ifconfig 檢視網絡卡資訊
  • 如圖,多了一塊 ens37,這塊網絡卡目前沒有被分配ip地址
  • 有兩種方法分配 ens37 ip
  • 一種是直接改配置檔案,到網絡卡配置檔案的目錄 /etc/sysconfig/network-scripts/
  • 到這個目錄裡面,找到 ens33 的配置檔案
  • 如圖,然後 cp 複製一份,重新命名為 ifcfg-ens37
  • 然後編輯該檔案,將 ip 地址修改一下
  • uuid,mac地址 可以刪除,讓系統重新分配,因為這是 ens33 id和mac,不刪除會衝突
  • name,device等資訊修改一下
  • 這樣就設定了永久的 ip
  • 還有一種方法是設定臨時的ip,這種方法系統重啟之後ip就會消失
  • 如圖, ifconfig + 網絡卡名稱 + ip地址/子網掩碼位數
  • 這裡子網掩碼位數是 24 表示 24位 1
  • 這個表示子網掩碼,一般是 255.255.255.255 這麼多種組合
  • 換算成二進位制就是 1111.... 32個1,也就是有32位數
  • 每一位數可以是0或者1
  • 設定為 24 表示 前面有 24位數 都是 1
  • 後面的 8 位數是 0
  • 這樣轉換為十進位制就是 255.255.255.0
  • 8位二進位制數有255種組合,最後8位都是0,轉換為十進位制數就是 0
  • 8個1轉換為十進位制數就是 255
  • 所以設定為24,代表24個1剩餘都是0,總長度就是 32
  • 32-24=8 ,所以剩餘8位就是0
  • 子網掩碼就是 255.255.255.0
  • 還有一點,ens37的ip跟ens33的ip 網段不能一樣
  • 比如 ens33 ip是 192.168.64.128 ,64就是網段
  • 所以 ens37 的第三段不能跟 ens33 一致
  • 所以這裡設定為 192.168.100.1,100跟64不一致

  • 第二臺虛擬機器,因為不能連線外網
  • 所以不能使用 xshell 遠端連線,需要直接在虛擬機器上操作
  • 流程跟 01虛擬機器一樣,先設定網絡卡 ip
  • 02虛擬機器的第二塊網絡卡也是ens37
  • 設定 ip 的方法跟 01虛擬機器一樣
  • 也是 複製一份配置檔案,然後修改名稱和內容
  • 或者如圖,使用 ifconfig 命令直接改 臨時 ip
  • 這裡設定為 192.168.100.100/24
  • 如圖,這個命令可以檢視 網絡卡是否連線主機
  • 這裡顯示 ok 就是連線沒問題
  • 同樣的命令檢查 o1虛擬機器
  • 如圖,在01虛擬機器上面使用 ping 192.168.100.100 連線 02虛擬機器
  • 下面資訊顯示 連