LINUX.ORG.RU
ФорумAdmin

сервер как роутер и vpn шлюз в одном

 ,


0

1

Здравствуйте.

Мож кто подскажет как решить проблему. Есть сервер, который работает в качестве маршрутизатора. на нем dhcp раздает адреса в локальную сеть из 10.0.0.0/24, и добавлено iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE.

Все гут.

Поцепил на него strongswan, приконнектил к сети 10.1.0.0/24. Теперь 10.0.0.0/24 --> 10.1.0.0/24 не идет пока не уберу маскарад, это впринципе и понятно. но при убраном маскараде клиенты в локальной сети сидят без интернета.

Как быть?


iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE.

Что за странный masquerade? Укажи имя интерфейса для которого нужно его делать. (-o eth0)

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

самое интересное, что на «хосте» есть enp10s1 и сделал enp10s1.1 с разными IP.

маскарад хоть так, хоть -o enp10s1 хоть -o enp10s1.1 на выходе все равно адресом с enp10s1

но собственно суть вопроса это не меняет. ip route add 10.0.0.0/24 via enp10s1.1 ругается что такой маршрут уже есть (ip route list: 10.0.0.0/24 dev enp14s0 proto kernel...)

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

самое интересное, что на «хосте» есть enp10s1 и сделал enp10s1.1 с разными IP.

enp10s1.1 - это что такое? Это VLAN такой создался на enp10s1, или что? В общем-то ничего такого. Вообще, покажи вывод «ip a» для начала, а то как-то непонятно.

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

enp10s1 хоть -o enp10s1.1

У тебя аплинк и локальная сеть на одном физическом интерфейсе? Почему?

Попробуй так:

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 ! -d 10.0.0.0/8 -j MASQUERADE.

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

маскарад хоть так, хоть -o enp10s1 хоть -o enp10s1.1 на выходе все равно адресом с enp10s1

Так и должно быть. Маскарад, в отличии от SNAT, выбирает первый адрес из всех псевдонимов по которым доступна внешняя сеть, где указана в маршрутизации.

ругается что такой маршрут уже есть

Ну да, это логически бессмысленно делать на алиасах на эзернетах.

но собственно суть вопроса это не меняет

Ну вот смотрите. Вы подключили сервер по point-to-point интерфейсу. Удаленная сторона знает об этом одном адресе своего соединения. А вот знает ли она о всей вашей сети? Может быть два варианта. Потому и вам предоставлена возможность маскарадить и туда. Если не надо, то и как в примере в предыдущем сообщении вы можете указать, что — знает, и маскарадить туда не надо.

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

да. чет об этом не подумал.

iptables -t nat -A POSTROUTING -s 10.0.0.0/24 ! -d 10.0.0.0/8 -j MASQUERADE

на второй стороне теперь какая-то засада... 10.0.0.0 --> 10.1.0.5 (вторая сторона) идет, а 10.0.0.0 --> 10.1.0.0/24 (все остальные) нет.

на 10.1.0.5

net.ipv4.ip_forward = 1, net.ipv4.conf.all.accept_redirects = 1, net.ipv4.conf.all.send_redirects = 0

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

Так на удаленной стороне вы сказали, что вот вся такая сеть 10/24 находится за маршрутом через установленное соединение?

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

-A FORWARD -m policy -s 10.0.0.0/24 -d 10.1.0.0/24 -i ens19 -j ACCEPT --dir in --pol ipsec --reqid 1 --proto esp

-A FORWARD -m policy -s 10.1.0.0/24 -d 10.0.0.0/24 -o ens19 -j ACCEPT --dir out --pol ipsec --reqid 1 --proto esp

разве что так...

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

NB: enp10s1.1 это не псевдоним enp10s1, а относительно полноценный интерфейс

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

tcpdump -v host 10.0.0.1 (на 10.1.0.5) показывает что идут пакеты 10.0.0.1 -> 10.1.0.1 а вот назад нет.

хотя 10.1.0.5 <--> 10.1.0.1 работает.

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

ip route add 10.0.0.0/24 via 10.1.0.5 кардинально поменяло ситуацию.

всем спасибо

alexni
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.