評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 2,平均評等: 3]
繼上次分內外網的需求完成後,內網的主機也需要可以連到外網才能安裝相關的套件,所以今天我們要將能對外的那台主機當成內網的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
評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 2,平均評等: 3]