[ Linux ] – Ubuntu 18.04 NAT 設定 讓內網主機也可以連上對外網路

繼上次分內外網的需求完成後,內網的主機也需要可以連到外網才能安裝相關的套件,所以今天我們要將能對外的那台主機當成內網的gateway 透過 NAT 設定就可以讓內網的主機也可以連到外網。

這邊先解釋一下一些相關的專有名詞

NAT 就是IP轉發,當gateway 那台主機收到內網的ip的時候會把發出去的封包轉成對外封包,反之收到外網的封包後會再轉回內網ip然後傳送給內網相對應ip的主機。

DNS 就是把網堿名稱轉成ip的服務 現在常用的有google 8.8.8.8 / 8.8.4.4 還有中華電信的 168.95.1.1 / 168.95.192.1

DHCP 就是自動分配ip的主機,從設定好的ip池中分配ip給主機,當主機用完後再交回ip池中等待下一次的分配。

gateway 那台主機的網路設定

nano /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
  version: 2
 # renderer: NetworkManager
  ethernets:
    eno1:
      addresses: [220.99.16.33/24]
      gateway4: 220.99.16.254
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]
      dhcp4: no
    enx33:
      addresses: [192.168.61.195/24]
      gateway4: 192.168.61.255
      dhcp4: no
  • NAT 配置
sudo iptables -A FORWARD -o eno1 -i enx33 -s 192.168.61.195/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -F POSTROUTING
sudo iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE

這邊我略過 重開機自動配置iptables的部份,有需求請點選 參考網址。

  • 路由轉發
nano /etc/sysctl.conf
# net .ipv4.ip_forward=1
修改後
net .ipv4.ip_forward=1
存檔
  • 啟用路由
sudo sysctl -p
  • 安裝 dnsmasq
apt install dnsmasq
  • 備份 dnsmasq 配置文件
sudo  cp /etc/dnsmasq.conf /etc/dnsmasq.conf-backup
  • 編輯 dnsmasq 配置文件
nano /etc/dnsmasq.conf
interface= enx33
dhcp-range= 192.168.61.1,192.168.61.194,72h
  • 重啟 dnsmasq
sudo /etc/init.d/dnsmasq restart

client 那台主機的網路設定

  • 編輯網路設定

nano /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
  version: 2
#  renderer: NetworkManager
  ethernets:
    eno1:
      addresses: [192.168.61.197/24]
      gateway4: 192.168.61.195
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]
      dhcp4: no

說明:主要就是 gateway4 要設成gateway 那台主機的ip,還有dns要設定好。
如果你要自動取得ip 請將 dhcp4: yes ,然後拿掉 addresses: [192.168.61.197/24] 這段

  • 載入新的網路設定
sudo netplan apply

參考網址:
https://www.cnblogs.com/Security-Darren/p/4576731.html

!去下營經續永站本助幫能就下一點輕輕,話的您到助幫有章文的我果如 如果我的文章有幫助到您的話,輕輕點一下就能幫助本站永續經營下去!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *