LINUX.ORG.RU
ФорумAdmin

Хитрый впн и plicy routing

 ,


0

1

Всем привет! Не могу что-то разобраться с NAT'ом. Суть:

Клиент -> vpn1 (обычный openvpn) -> vpn2 (ssh тунель) -> интернет

Сеть openvpn - 192.168.50.0/24

VPN1

tun0 addr:192.168.50.1 - опенвпн сервер tun14 addr:192.168.0.2 - тунель на vpn2

root@vpn1:~# ip ru
0:	from all lookup local 
32765:	from 192.168.50.0/24 lookup vpn 
32766:	from all lookup main 
32767:	from all lookup default
root@vpn1:~# ip ro list table vpn
default via 192.168.0.1 dev tun14
root@vpn1:~# ip ro list table main
default via 104.233.80.1 dev eth0  metric 100 
104.233.80.0/24 dev eth0  proto kernel  scope link  src 104.233.80.103 
192.168.0.0/30 dev tun14  proto kernel  scope link  src 192.168.0.2 
192.168.50.0/24 via 192.168.50.2 dev tun0 
192.168.50.2 dev tun0  proto kernel  scope link  src 192.168.50.1

VPN2

tun14 addr:192.168.0.1 - тунель на vpn1

Если я с клиента делаю Ping 8.8.8.8 то через tcpdump я вижу что пакеты летят через vpn1 на vpn2 но назад не летят ... Я понимаю что теперь нужен NAT, но я уже различными комбинациями голову сломал как оно должно быть. Может есть у кого идеи какие?

★★

Разобрался, в общем:

vpn1 iptables -t nat -A POSTROUTING -s 192.168.50.0/24 -j MASQUERADE

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

И теперь если я в браузере открою 2ip.ru, я вижу ip Не Openvpn сервера, а того, которй еще через ssh Тунель идет))

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

О я хз, браузер, skype работает) большего мне не нужно, главное что вышло клиент - сервер 1 - сервер 2 - интернет

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

Ну, если что SSH туннель это только TCP или, на крайняк, SOCKS. Обычный траффик в него не завернёшь при всём желании.

Таки нет, ssh -w делает нормальный туннель со своим интерфейсом и маршрутизацией. Другое дело, что обычно различного вида прокси через ssh обычно путают с туннелем.

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

Обычный траффик в него не завернёшь при всём желании.

Как уже говорил анонимус выше: ключ -w позволит сделать IP-туннель через ssh. И гонять там любой IP-трафик

Осторожно, хабр

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от upcFrost

Это не совсем мне, просто кой кому потребовалось такая связка. Клиент подключается через openvpn, и дальше по цепочке туннелей и серваков выходит в инет. Как в кулхацкерских фимльмах.

Вот и пал мой выбор на ssh, в качестве туннеля. Вроде работает, вроде масштабируется и цепочка легко удлиняется. Можно было еще чо повыдумывать, но мне это показалось самым простым средством. Тем более, что подключение нового звена - реально пару строчек в консоль вбить и вуаля, трафик любого клиента идет через 3-3.14зды колена)

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

Дык реально удобная вещь. Тунель поднимается 3-мя командами и правкой 1 конфига sshd, где доабвляется аж 1 строчка)

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

Какой-нибудь vtun или openvpn настраивается тоже в три строчки при желании. А пихать кучу всего в один демон - это не Unix-way, плюс усложнение кода и поле для ошибок безопасности.

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

Не проецируй свои комплексы на других. На принципе «одна утилита делает одно дело и делает его хорошо» основана вся *nix инфраструктура и её общая безопасность относительно костыльных комбайнов, пытающихся впихнуть невпихуемое.

К ораклистам отношения не имею.

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

Ну хз. тогда уж чтоб было толсто - поднять тор, через него 5-6 впн и round-robin

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