LINUX.ORG.RU
ФорумAdmin

Помогите разобраться с маршрутизацией: линукс-машина не пускает дальше своего локального ip

 ,


0

2

Добрый день.

Дано: linux-машина на которой поднят openvpn с интерфейсом tap. Она находится за маршрутизатором.

Что хочется: при подключении к linux получить доступ ко всей локальной сети.

Что сделано: на linux машине прописан net.ipv4.ip_forward = 1 и iptables -t nat -A POSTROUTING -o tap0 -j MASQUERADE, на машине с которой подключаюсь по openvpn прописан маршрут «route add 192.168.1.0 mask 255.255.255.0 10.1.1.1», где 192.168.1.0/24 - это собственно сеть, которую я хочу увидеть, 10.1.1.1 - адрес linux-машины в тунеле openvpn.

Что получилось: вижу только адрес 192.168.1.150 - это локальный адрес linux. Больше никого не вижу.

Подскажите пожалуйста, что я упустил? Должно же работать.


  1. Является ли твой openvpn сервер дефолтным шлюзом для сети 192.168.1.0/24? Куда должен слать ответы условный 192.168.1.2 в сеть VPN?

  2. Маскарадинг к роутингу отношения не имеет. В iptables цепочка forward разрешает трафик для -i tap0 и -o tap0 ?

BOOBLIK ★★★★
()
Ответ на: комментарий от BOOBLIK

1. Является ли твой openvpn сервер дефолтным шлюзом для сети 192.168.1.0/24?

Нет конечно. у них дефолт - это маршрутизатор 192.168.1.1. Тогда получается на машинах надо прописать обратный маршрут «route add 10.1.1.0 mask 255.255.255.0 192.168.1.150»?

Маскарадинг к роутингу отношения не имеет. В iptables цепочка forward разрешает трафик для -i tap0 и -o tap0 ?

нет. отдельно я эти правила не прописывал. А надо? разве «net.ipv4.ip_forward = 1» уже не разрешает это?

ofp
() автор топика
Ответ на: комментарий от anc

Да уже после написания поста думал что тупанул и надо было прописать «iptables -t nat -A POSTROUTING -i enp1s0 -j MASQUERADE». Нет, не помогло... Вот почему я этот enp1s0 вижу, а других нет?

ofp
() автор топика
Ответ на: комментарий от ofp

В iptables цепочка forward разрешает трафик для -i tap0 и -o tap0 ?

А надо? разве «net.ipv4.ip_forward = 1» уже не разрешает это?

Это включает форвардинг, к fw оно никакого отношения не имеет.

anc ★★★★★
()

Буквально, перепись девопсов в треде. Ни одного админа нет чтобы подсказать что правило маскарадинга тут не верное, нужно что-то типа

iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth0 -j MASQUERADE

можно ещё явно настроить форвардинг:

iptables -A FORWARD -i tap0 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o tap0 -m state --state RELATED,ESTABLISHED -j ACCEPT

и роутинг:

ip route add 10.1.1.0/24 via 192.168.1.150

Я даже не админ если что.

Obezyan
()
Ответ на: комментарий от ofp

Тогда получается на машинах надо прописать обратный маршрут

Верно.

нет. отдельно я эти правила не прописывал. А надо?

Если тебе нужен роутинг с пересылкой пакетов, то надо. Если тебе достаточно NAT (что ты попытался сделать изначально, но напутал интерфейсый), то и так сойдет.

BOOBLIK ★★★★
()
Ответ на: комментарий от Obezyan

если 192.168.1.150 шлюз по умолчанию то не надо отдельно сетку рутить

вообще у автора так путано написано, что немудренно что он сам запутался ещё для туннеля можно вообще без nat обойтись, через proxy arp

mumpster ★★★★★
()
Ответ на: комментарий от mumpster

Да вроде ясно изъяснился. Есть машинка за nat'ом на другом конце страны. до машинки поднят openvpn. хочу видеть её локалку(другие компьютеры, принтеры и пр). но вижу только её vpn адрес(ну что логично) и её адрес в локальной сети.

Obezyan Спасибо за замечание. Поиграюсь с этим, но уже лучше завтра.

ofp
() автор топика
Ответ на: комментарий от ofp

Щазбы когда ркн через dpi блочит впн, разбираться что пошло не так в соединении через всю страну. Толи сам накосячил, толи по дороге портят соединение.

anonymous
()
Ответ на: комментарий от ofp

путано потому что надо описывать не то что ты там наделал, а что в итоге хочешь получить

для начала тебе надо определиться какие именно пакеты ты хочешь менять и кто инициатор подключения у тебя

MASQUERADE - это частный случай SNAТ (подмен источника), причём последнее работает быстрее и ещё ряд преимуществ имеет. маскарад нужен по сути если есть ненулевая вероятность смены IP, например, используется модем и доступ через пул провайдера. SNAT только на статике работает.

как у тебя написано, то это схема для доступа из сети за твоим рутером с натом (192…) к твоему компу за 3-9 земель. так тоже можно делать, если ходят к твоему компу, а не ты, но тогда лучше использовать DNAT и выбрать порты которые будет пробрасывать твой рутер, например

в твоей же ситуации я бы вооще не парился с натом и сделал бы proxy arp, раньше это прекрасно работало на модемах.

mumpster ★★★★★
()
Ответ на: комментарий от anc

из изложенного что-то определённое утверждать нельзя.
я уже всего насмотрелся.
в соседней теме например чел зачем-то развлекается с :0 когда сейчас можно тупо на один iface вешать 100500 адресов.
что до маршрутов, то по code 121 вроде бы и ISC и dnsmasq и тем более Cisco позволяют объявлять маршруты окромя default gw

mumpster ★★★★★
()

Вы используете MASQUERADE на интерфейсе tap0 — это нарушает цель, потому что вы подменяете IP-адреса пакетов от клиента на IP-адрес VPN-сервера. В результате другие хосты сети думают, что им обращается именно сервер, и не знают, куда отправлять ответы.

Мне что-то подсказывает, что вы хотите не это, а bridge.

PPP328 ★★★★★
()
Ответ на: комментарий от anc

ну, например, у меня дома долгое время default gw был не на первом и на последнем адресе, были исторические причины ))))
на месте ТС я бы тут использовал proxy arp и мозги не парил
особенно если ту сеть он не контролирует, а использует

mumpster ★★★★★
()
Последнее исправление: mumpster (всего исправлений: 1)