Користувальницькькі налаштування

Налаштування сайту


vpn

Це стара версія документу!


VPN

Установка

в Debian GNU/Linux

sudo apt-get install openvpn

Настройка

Сервер

Чтобы организовать защищённое подключение, нужно сгенерировать секретный ключ доступа:

# openvpn --genkey --secret static.key

Для подключения со статическим ключом доступа:

sudo openvpn --secret /etc/openvpn/static.key --proto tcp-server --lport 1194 --dev tun1 --ifconfig 10.9.8.1 10.9.8.2

Если планируется подключаться к серверу только через SSH-тоннель (либо через SSLH), то нужно добавить к параметрам IP-адрес, к которому будет прикреплён сервер:

sudo openvpn --secret /etc/openvpn/static.key --proto tcp-server --local 127.0.0.1 --lport 1194 --dev tun1 --ifconfig 10.9.8.1 10.9.8.2

Это позволит объединить сервер и подключившийся к нему компьютер в одну локальную сеть, однако ещё не даёт доступа подключённому компьютеру в интернет. Чтобы получить выход в интернет через такой сервер, на нём нужно включить NAT:

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -A FORWARD -i <NET_IF> -o tun1 -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A FORWARD -s 10.9.8.0/24 -o <NET_IF> -j ACCEPT
# iptables -t nat -A POSTROUTING -s 10.9.8.0/24 -o <NET_IF> -j SNAT --to <SERVER_IP>

<NET_IF> – это “внешний” сетевой интерфейс сервера (через который осуществляется доступ в Интернет). <SERVER_IP> – это IP-адрес сервера на внешнем сетевом интерфейсе.

Клиент

Для начала нужно скопировать секретный ключ доступа, сгенерированный на сервере, к себе на компьютер. Расположить его можно в /etc/openvpn/static.key, как и на сервере.

Прямое подключение

sudo openvpn --proto tcp-client --remote <SERVER_IP> <SERVER_PORT> --dev tun1 --ifconfig 10.9.8.2 10.9.8.1

Через прокси-сервер

sudo openvpn --proto tcp-client --remote <SERVER_IP> <SERVER_PORT> --http-proxy <PROXY> <PROXY_PORT> --dev tun1 --ifconfig 10.9.8.2 10.9.8.1
ssh -f -N -L 1194:localhost:1194 -p 443 vova@wombat.org.ua -J 'corkscrew proxy.opu.ua 3128 wombat.org.ua 443'
openvpn --proto tcp-client --secret /jffs/etc/openvpn/WOU.key --remote localhost 1194 --dev tap1 --ifconfig 10.9.9.3 255.255.255.0

Через SSH-тоннель

ssh -f -N -L5611:localhost:1194 -p <SERVER_SSH_PORT> <SERVER_IP> 
sudo openvpn --proto tcp-client --secret /etc/openvpn/static.key --remote localhost 5611 --dev tun1 --ifconfig 10.9.8.2 10.9.8.1

Новый маршрут

sudo route del default
sudo route add default gw 10.9.8.1

Чтобы сохранить доступ к DNS-серверам своего провайдера (на всякий случай):

sudo route add <DNS1_IP> eth0
sudo route add <DNS2_IP> eth0

Доступ к прокси-серверу, если он есть, обязательно нужно сохранить:

sudo route add <PROXY_IP> eth0

Чтобы использовать DNS-серверы, отличные от предоставленных провайдером, можно изменить файл

"/etc/resolv.conf"
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 4.2.2.1
nameserver 4.2.2.2

Следует заменить tun1 на tap1 в случае TAP-подключения.

sudo openvpn --proto tcp-client --secret /etc/openvpn/static.key --remote localhost 5611 --dev tap1 --ifconfig 10.9.8.2 255.255.255.0

https://wiki.debian.org/OpenVPN

vpn.1416603668.txt.bz2 · В останнє змінено: 2014/11/21 23:01 by wombat