LINUX.ORG.RU

openvpn через другой сервер


0

1

есть опенвпн на сервере debian2 есть сервер debian1 без опенвпн

цель, нужно чтобы клиент коннектился к debian1 debian2 при этом видит только IP сервера debian1 а debian1 видит только траф зашифрованный сервером debian2

как такое реализовать? нужно пробросить порт на debian1 но не представляю как

Что-то не очень понтяно. Предложения раскидай нормально, знаки препинаний расставь. Какой-то конкретный сервис нужно пробросить или весь трафик? В любом случае, мне кажется, курить нужно iptables.

winlook38 ★★
()
-A PREROUTING -p tcp -s 1.2.3.4/24 -d 1.1.1.1/32 --dport 1234 -j DNAT --to-destination 2.2.2.2:1234

-s 1.2.3.4/24 можно опустить, это жесткое условие входящего ИП клиента, в остальном, 1.1.1.1 - debian1, 2.2.2.2 - debian2, 1234 - порт впн

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

я хочу прокинуть трафик впн клиента через дебиан1 сервер. но при этом, опенвпн сервер установлен на дебиан2 сервере.

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

Я так понял, 10.7.0.0/24 - это подсеть, которую формирует впн-сервер. Т.е. ты пытаешься подключиться к впн-серверу, который находится за другим сервером. Тогда нет. В таком случае подсеть указывается та, к которой у тебя принадлежит Windows-клиент (ipconfig смотри).

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

И еще, если мое предположение о том, что ты хочешь подключиться к впн-серверу, который находится за другим сервером (Windows-клиент -> Debian1 -> Debina2-openvpn_сервер), то в правиле, которое тебе привели выше, замени -p tcp на -p udp, т.к. openvpn-сервер у тебя работает по протоколу udp.

winlook38 ★★
()

Кстати, а чем тебя не устроило решение из предыдущей темы? Пропиши то же правило на промежуточном сервере.

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

это не работает

/sbin/iptables -A PREROUTING -p udp -d 1.1.1.1/32 --dport 1234 -j DNAT --to-destination 2.2.2.2:1234

а там POSTROUTING у нас в правилах, как они могут подойти?

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

Может быть я уже совсем запутался.
На Debian1 у тебя 2 интерфейса? Один смотрит на клиента, другой на Debian2. Если так, то сделай на Debian1

/sbin/iptables -t nat -A POSTROUTING -o <интерфейс, которы смотрит на Debian2> -j MASQUERADE

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

На клиенте после этого сделай так:

route add <ip-адрес Debian2> mask 255.255.255.255 <ip-адрес Debian1>

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

Помоги, пожалуйста. В частной беседе нарисовалась более полная картина, но я iptables умею на уровне пасты из интернетов, поэтому помочь не смогу.
Схема такая: Клиент -> Debian1 -> Debian2 (openvpn)
Клиент в качестве сервера указывает Debian1. Тот должен прокинуть трафик далее на Debain2, скрыв ip-адрес клиента. Т.е., на сколько я понимаю, тут нужны и DNAT для проброса трафика и SNAT для сокрытия ip-адреса.
Будет ли достаточно следующих правил и верны ли они? (мне негде проверить)

/sbin/iptables -t nat -A PREROUTING -p udp --dport 2012 -j DNAT --to-destination <Debian2>
/sbin/iptables -t nat -A POSTROUTING -p udp --dport 2012 -j SNAT --to-source <Debian1>

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

признаться, я никогда не использовал snat, ибо валятся логи и ип фильтрация. выглядит верно. проверьте используя wireshark.

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

/sbin/iptables -t nat -A POSTROUTING -p udp --dport 1111 -j SNAT --to-source дебиан2

/sbin/iptables -t nat -A PREROUTING -p udp --dport 1111 -j DNAT --to-destination дебиан2

так все работает

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