Назад | Перейти на главную страницу

как настроить маршрутизацию с внутренней машины в интернет через другую машину?

У меня есть внутренняя машина, скажем X (не подключенная к Интернету), которая подключена к машине, скажем Y, которая подключена к Интернету.

Как мне настроить машины для маршрутизации с внутренней машины X в Интернет через Y?

Маршрутизатор по умолчанию Y пользователи должны знать, что сеть Икс использование доступно через Y.

так что если Икс находится по адресу 192.168.1.12/24, Y находится на 192.168.1.1/24 и 192.168.0.101/24. Затем на маршрутизаторе (скажем, 192.168.0.1/24, подключенном к Интернету), который использует соединение с Y вам нужно добавить:

ip route add 192.168.1.0/24 via 192.168.0.101 scope global

и соответствующие правила для межсетевого экрана, чтобы пропускать трафик.

Другое решение - использовать SNAT в Y:

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

(предполагая, что сеть между Y и Yмаршрутизатор по умолчанию подключен к eth0)

В обоих случаях вам нужно добавить пересылку пакетов в Y:

echo 1 > /proc/sys/net/ipv4/ip_forward
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf

Установите шлюз на машине X как Y. Затем убедитесь, что хост Y разрешает пересылку пакетов. В linux с iptables для этого потребуется примерно следующее:

редактировать /etc/sysctl.conf чтобы разрешить пересылку, убедитесь net.ipv4.ip_forward был установлен на 1.

После этого примените правило в iptables, чтобы разрешить трафик.

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

(если eth0 - правильное устройство)

Попробуй это.

sysctl -w net.ipv4.ip_forward = 1

На компьютере X установите маршрут по умолчанию Y.

Если это сработает, установите его навсегда, добавив

net.ipv4.ip_forward = 1

в: /etc/sysctl.conf

и перезапуск.