пятница, 11 ноября 2011 г.

Доступ к интернету через VPN тунель

Докатились таки власти до попытки контроля трафика и контента.

Поднять туннель не слишком сложно. Нужен сервер за границей, пойдет и полудохлый VPS - желательно с неограниченным трафиком (ну либо достаточно большим).
Прочитать можно тут настройка OpenVPN

Итак подняли - в результате на сервере где-то в иностранном интернете появится дополнительный сетевой интерфейс tun0 с ip 10.8.0.1.
У Вас на компьютере будет что-то вроде tun0 с ip 10.8.0.5

На сервере

по минимуму (лучше конечно нормально настроить файрвол):

* включаем форвардинг
echo "1" > /proc/sys/net/ipv4/ip_forward

* настраиваем SNAT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -d 0/0 -j SNAT --to-source _ip_сервера_

Теперь сервер будет перенаправлять запросы из подсети 10.8.0.0 на внешние сети и при получении ответа заворачивать обратно в туннель.

На клиенте

* маршрут на ваш сервер через шлюз провайдера

route add -host _ip_сервера_ gw _ip_шлюза_провайдера_ eth0
(вместо eth0 может быть ppp0 и т.п.)

* маршрут на подсеть туннеля

route add -net 10.8.0.0 netmask 255.255.255.0 dev tun0

* убиваем маршрут по умолчанию от провайдера

route del default gw _ip_шлюза_провайдера_ eth0
(вместо eth0 может быть ppp0 и т.п.)

* устанавливаем шлюз по умолчанию на наш туннель

route add default gw 10.8.0.1 tun0

Естественно, все это лучше завернуть в скрипты. Да и сами конфиги туннеля настроить так, что бы они выдавали часть настроек сами.

Комментариев нет:

Отправить комментарий