VPN-IPSec для домашнего использования
В этой статье мы рассмотрим быстрый способ поднять 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)
Зайдите в браузере на сайт goip.info и посмотрите свой IP, должен быть IP сервера, к которому вы подключены.
Не забудьте добавить strongswan в автостарт, а так же сохраните правила iptables, либо добавьте их к уже имеющимся у вас.
Удачи в настройках.
© shadow_alone