Решил я как-то поднять на домашнем серваке с Ubuntu Linux VPN сервер, для того чтобы можно было подключаться к нему из офиса, иметь удаленный доступ, брать нужные файлы, запускать закачки, смотреть через web-камеру, что делается в квартире и т.п. Поднял я его без особых трудностей, и теперь опишу, как я это делал и как это делать Вам если вдруг понадобиться. Если у Вас еще не установлен пакет pptpd – запускаем его установку следующей командой: Code sudo apt-get install pptpd ipx ipxripd Необходимые пакеты установлены, теперь перейдем к изменению конфигурационных файлов VPN-сервера, для начала правим файл /etc/ppp/pptpd-options. Вводим в терминале: Code sudo gedit /etc/ppp/pptpd-options Вот что пишем внутри: Code name pptpd
refuse-pap
refuse-chap
require-mschap
require-mschap-v2
require-mppe-128
ms-dns 10.0.0.1
ms-dns 10.0.0.2
proxyarp
nodefaultroute
lock
nobsdcomp
#IPX (todo)
ipx
ipx-network 4
ipx-node 1:0
ipx-routing 2
ipx-router-name Linux_router
ipxcp-accept-remote После этого правим файл /etc/pptpd.conf выполнив в терминале: sudo gedit /etc/pptpd.conf Вот как этот файл выглядит у меня: Code
option /etc/ppp/pptpd-options
logwtmp
localip 172.16.16.1
remoteip 172.16.16.2-254
Затем в файл /etc/ppp/chap-secrets добавляем пользователей которые будут иметь право подключатся к VPN-сети. Пишем в терминале: sudo gedit /etc/ppp/chap-secrets Добавляем в него информацию в таком виде: Code # Secrets for authentication using CHAP
# client server secret IP addresses
youruser pptpd yourpassword «*» Таким образом мы наделили пользователя youruser с паролем yourpassword правом подключаться к нашей VPN сети с любого IP-адреса. Если же Вы планируете подключатся к VPN серверу исключительно с определенного IP, тогда вот этом – «*» меняйте на желаемый айпишник. С настройками VPN-сервера мы завершили, теперь нужно его перезапустить для того, чтобы изменения которые мы внесли вступили в силу. Для этого выполним в терминале: /etc/init.d/pptpd restart Теперь VPN-сервер работает с новыми параметрами которые мы только что ему задали. Осталось лишь разрешить доступ к нему через файервол и настроить форвардинг. Для этого как один из вариантов, можно написать специальный скрипт. Пишем в терминале по очереди: Code touch /home/vpn-firewall.sh
chmod +x /home/vpn-firewall.sh
gedit /home/vpn-firewall.sh Вводим содержание скрипта в редактор: Code
#!/bin/sh
echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
iptables –flush
iptables –delete-chain
iptables –table nat –flush
iptables –table nat –delete-chain
iptables -P FORWARD ACCEPT
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
iptables –table nat –append POSTROUTING –out-interface eth0
echo vpn firewall loaded OK.
В предпоследней строке вместо eth0 подставляйте название Вашего сетевого соединения. Неплохо было бы, чтобы этот скрипт запускался сам, при старте системы, верно? Значит нужно добваить его в автозагрузку. За автозагрузку отвечает следующий файл: /etc/rc.local sudo gedit /etc/rc.local … и добавим в него следующие строки (вернее среднюю, т.к. первые две по идее должны уже у Вас быть): Code #!/bin/sh -e
/home/vpn-firewall.sh
exit 0
Затем запускаем скрипт фаервола, выполнив следующую команду: /home/vpn-firewall.sh и если все ОК, то последней строчкой он выведет: ”vpn firewall loaded OK.” Всё, готово, можете подключаться к VPN-серверу со стороны клиента, где нужно естесственно указать логин и пароль, который Вы забили в файл /etc/ppp/chap-secrets. Удачного VPN-соединения!
|