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

У меня есть два сервера 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)

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

0
задан 11 September 2021 в 09:30
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"

Стиль Bash:

nano /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 по умолчанию)

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

0
ответ дан 13 September 2021 в 12:20

Теги

Похожие вопросы