Рейтинг:0

Использовать виртуальную машину в сети в качестве шлюза по умолчанию (переходник)

флаг ru

У меня есть два сервера Ubuntu:

  • Сервер 1 (IP-адрес: 192.168.10.11) находится в сети и подключается к двум сетевым интерфейсам (внутренний, общедоступный)

  • Сервер 2 (IP-адрес: 192.168.10.10) без публичного доступа (внутренний)

Я пытаюсь использовать server1 в качестве шлюза по умолчанию для server2, и вот что я сделал:

# на онлайн-сервере (Jumpbox)
iptables -t nat -A POSTROUTING -s 192.168.10.10 ! -d 192.168.30.1/24 -j МАСКАРАД
эхо 1 > /proc/sys/net/ipv4/ip_forward

# На оффлайн сервере
маршрут добавить по умолчанию gw 192.168.10.11

Докер установлен на обоих (172.17.0.0)

Они могут пинговать друг друга, но с server2 не удается пинговать гугл.

флаг la
попробуйте это на jumpbox: iptables -t nat -A POSTROUTING -o public_internet_interface -j MASQUERADE
GeoCom avatar
флаг ru
@MartynasSaint Я получу ошибку, когда добавлю имя интерфейса _Нет ... по этому имени_
GeoCom avatar
флаг ru
Устранена вышеуказанная проблема, но по-прежнему нет пинга с автономной виртуальной машины.
флаг la
попробуйте посмотреть, сработало ли правило - iptables -vL . возможно, докер помещает некоторые правила, которые сопоставляются первыми
GeoCom avatar
флаг ru
да, диапазон IP-адресов для докера находится в другом диапазоне
Рейтинг:0
флаг za

Стиль Debian (ленивый способ):

редактировать /etc/сеть/интерфейсы

iface eth0 инет статический
адрес 10.0.0.1
сетевая маска 255.0.0.0
последующее эхо 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:

редактировать /и т.д./кронтаб

@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 МАСКАРАД"

Баш Стиль:

нано /root/allow_lan_nat.sh
Вы должны настроить правильную локальную сеть, которая подходит вам, что может
192.168.0.0/24 (подсеть с одной локальной сетью, класс C по умолчанию)
192.168.0.0/16 (все подсети 192.168)
172.16.0.0/16 (класс B по умолчанию)
10.0.0.0/8 (класс A по умолчанию)

#!/бин/баш
# Настройте локальную сеть, как показано выше
МАЙЛАНИП=10.0.0.0/8

#IFACE, у которого есть Интернет.
МАЙНЕТИФЕЙС=eth0
эхо 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 - это ваш интерфейс, обращенный к Интернету, иначе обновите его, как указано выше.

эхо 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 должен быть интерфейс с выходом в Интернет поэтому обновите его под свои нужды.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.