VPN-IPSec для домашнего использования

ipsec_vpn В этой статье мы рассмотрим быстрый способ поднять VPN-сервер для личных нужд на основе IPSec посредством SrtongSwan на RH-based linux. У многих есть есть свой выделенный сервер(а) или VPS, так почему бы не создать возможность использовать их как vpn-сервер очень простым, эффективным и быстрым способом. Таким образом также можно обходить запреты на некоторые ресурсы, закрытые в стране, если сервер находиться в другой стране. Все настройки производились на CentOS 6, но это актуально для любой OS Linux, так как, в процессе, мы оперируем лишь настройками strongswan и штатного файрвола.

Первым делом устанавливаем репозиторий epel , если он у вас еще не установлен.

далее устанавливаем:

# yum install strongswan

идём в папку /etc/strongswan и приводим файлы к следующему виду:
# cat strongswan.conf

charon {
load_modular = yes
plugins {
include strongswan.d/charon/*.conf
}
dns1=8.8.8.8
dns2=8.8.4.4
}
include strongswan.d/*.conf

# cat ipsec.conf

config setup

conn vpn
keyexchange=ikev1
authby=xauthpsk
xauth=server
left=%defaultroute
leftsubnet=0.0.0.0/0
leftfirewall=yes
right=%any
rightsubnet=192.168.95.0/24
rightsourceip=192.168.95.0/24
dpdaction=clear
dpddelay=35s
dpdtimeout=300s
fragmentation=yes
rekey=no
auto=add

# cat ipsec.secrets

: PSK “SecRet”
user : XAUTH “PassWord”

Мы добавили DNS-сервера для клиентов в первом файле. Сеть(pool) для клиентов указана как 192.168.95.0/24, но вы можете указать её на ваше усмотрение во втором файле. Соответственно ставите свои SecRet , user и PassWord в третьем файле, юзеров с паролями можете создать несколько.

В принципе, если мы уже сейчас запустим strongswan, то сможем подключиться, но для того чтобы выпустить клиентов в интернет через сервер, необходимо настроить NAT на iptables. Не забудьте поменять сеть на свою, как вы указали в файле ipsec.conf

# iptables -I FORWARD -s 192.168.95.0/24 -j ACCEPT
# iptables -I FORWARD -d 192.168.95.0/24 -j ACCEPT
# iptables -t nat -I POSTROUTING -s 192.168.95.0/24 -j MASQUERADE

Так же, если у вас уже есть настройки iptables, то необходимо открыть возможность входящих соединения ipsec:

# IPSEC
-A INPUT -p 50 -j ACCEPT
-A INPUT -p 51 -j ACCEPT
-A INPUT -p udp -m udp --dport 500 -j ACCEPT
-A INPUT -p udp -m udp --dport 4500 -j ACCEPT

вот переть стартуем strongswan:

# service strongswan start

и подключаемся клиентом (iOS, Android, OS X, Windows)
ipsec_vpn_ios

Зайдите в браузере на сайт goip.info и посмотрите свой IP, должен быть IP сервера, к которому вы подключены.

Не забудьте добавить strongswan в автостарт, а так же сохраните правила iptables, либо добавьте их к уже имеющимся у вас.

Удачи в настройках.
© shadow_alone