Debian 風格(懶惰的方式):

Debian 風格(懶惰的方式):

我有兩台 Ubuntu 伺服器:

  • 伺服器1(IP:192.168.10.11)在線並連接到兩個網路介面(內部、公共)

  • 伺服器 2(IP:192.168.10.10)無公共存取(內部)

我正在嘗試使用 server1 作為 server2 的預設網關,這就是我所做的:

# on online server (Jumpbox)
iptables -t nat -A POSTROUTING -s 192.168.10.10 ! -d 192.168.30.1/24 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward

# On offline server
route add default gw 192.168.10.11

Docker 已安裝在兩者上(172.17.0.0)

他們可以互相 PING,但從 server2 無法 PING Google。

答案1

Debian 風格(懶惰的方式):

編輯/etc/network/interfaces

iface eth0 inet static
address  10.0.0.1
netmask  255.0.0.0
post-up   echo 1 > /proc/sys/net/ipv4/ip_forward
post-up   iptables -t nat -A POSTROUTING -s '10.0.0.0/8' -o eth0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.0.0.0/8' -o eth0 -j MASQUERADE

惰性 crontab 方式:

編輯/etc/crontab

@reboot root "echo 1 > /proc/sys/net/ipv4/ip_forward; iptables -t nat -A POSTROUTING -s '10.0.0.0/8' -o eth0 -j MASQUERADE; iptables -t nat -D POSTROUTING -s '10.0.0.0/8' -o eth0 -j MASQUERADE"

狂歡風格:

nano /root/allow_lan_nat.sh
您必須調整適合您的正確 LAN,可能是
192.168.0.0/24(一個 LAN 子網,預設 C 類)
192.168.0.0/16(192.168 的所有子網路)
172.16.0.0/16(預設 B 類)
10.000。 0.0/8(預設A級)

#!/bin/bash
#Ajust the LAN, as above shown
MYLANIP=10.0.0.0/8

#The IFACE that has Internet.
MYINETIFACE=eth0
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s $MYLANIP -o $MYINETIFACE -j MASQUERADE
iptables -t nat -D POSTROUTING -s $MYLANIP -o $MYINETIFACE -j MASQUERADE 

跑步bash /root/allow_lan_nat.sh

直接回答你的問題

提醒一下,在我陳述這個答案時,我不知道接口,所以我假設 ens3 是面向互聯網的接口,否則像上面那樣更新它

echo 1 > /proc/sys/net/ipv4/ip_forward  
iptables -t nat -A POSTROUTING -s '192.168.10.0/24' -o ens3 -j MASQUERADE  
iptables -t nat -D POSTROUTING -s '192.168.10.0/24' -o ens3 -j MASQUERADE  

提醒,ens3必須是面向互聯網的介面所以根據您的需要更新它。

相關內容