Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
|
Каталог статей |
VPN-сервер в Linux Ubuntu
как-поднять на домашнем серваке с Ubuntu Linux VPN сервер, для того чтобы можно было подключаться к нему из офиса, иметь удаленный доступ, брать нужные файлы, запускать закачки, смотреть через web-камеру, что делается в квартире и т.п. Поднял я его без особых трудностей, и теперь опишу, как я это делал и как это делать Вам если вдруг понадобиться. становим VPN сервер: Код: sudo apt-get install pptpd ipx ipxripd Настройка VPN сервера. Отредактируйте файл /etc/ppp/pptpd-options Код: 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 Код: option /etc/ppp/pptpd-options logwtmp localip 172.16.16.1 remoteip 172.16.16.2-254 Теперь можно добавить пользователей, для этого отредактируйте файл /etc/ppp/chap-secrets Код: # Secrets for authentication using CHAP # client server secret IP addresses heiniken pptpd vladimir «*» Мы добавили пользователя heiniken с паролем vladimir и с возможностью доступа с любого ip адреса. Если хотите с определённого адреса то вместо * впишите ип адрес. Перезапускаем VPN сервер Код: /etc/init.d/pptpd restart На этом настройка VPN сервера закончена, осталось настроить фаервол и форвардинг пакетов. Настройка фаервола Создадим простой скрипт фаервола в домашней директории /home: Код: touch /home/vpn-firewall.sh chmod +X /home/vpn-firewall.sh gedit /home/vpn-firewall.sh В открывшемся окне впишите: #!/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 -j MASQUERADE echo vpn firewall loaded OK. Пропишите этот скрипт в автозагрузку отредактировав файл /etc/rc.local Должно получится следующее: Код: #!/bin/sh -e /home/vpn-firewall.sh exit 0 Запустите скрипт фаервола, он должен написать ”vpn firewall loaded OK.” Код: /home/vpn-firewall.sh На этом настройка закончена, можете настраивать windows клиенты, никаких особенных параметров не требуется, просто создаете подключение vpn с адресом вашего сервера, на вкладке ”Безопасность” нужно снять галочку с пункта ”Требуется шифрование данных (иначе отключаться)”, а так же логином и паролем которые вы вписали в конфигурационный файл.
Если у Вас еще не установлен пакет pptpd – запускаем его установку следующей командой:
sudo apt-get install pptpd ipx ipxripd
Необходимые пакеты установлены, теперь перейдем к изменению конфигурационных файлов VPN-сервера, для начала правим файл /etc/ppp/pptpd-options.
Вводим в терминале:
sudo gedit /etc/ppp/pptpd-options
Вот что пишем внутри:
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
Вот как этот файл выглядит у меня:
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
Добавляем в него информацию в таком виде:
# 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-сервер работает с новыми параметрами которые мы только что ему задали. Осталось лишь разрешить доступ к нему через файервол и настроить форвардинг. Для этого как один из вариантов, можно написать специальный скрипт. Пишем в терминале по очереди:
touch /home/vpn-firewall.sh
chmod +x /home/vpn-firewall.sh
gedit /home/vpn-firewall.sh
Вводим содержание скрипта в редактор:
#!/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
… и добавим в него следующие строки (вернее среднюю, т.к. первые две по идее должны уже у Вас быть):
#!/bin/sh -e
/home/vpn-firewall.sh
exit 0
Затем запускаем скрипт фаервола, выполнив следующую команду: /home/vpn-firewall.sh и если все ОК, то последней строчкой он выведет: ”vpn firewall loaded OK.”
Всё, готово, можете подключаться к VPN-серверу со стороны клиента, где нужно естесственно указать логин и пароль, который Вы забили в файл /etc/ppp/chap-secrets. Удачного VPN-соединения
|
Категория: Мои статьи | Добавил: Admin (21.10.2011)
|
Просмотров: 2674 | Комментарии: 2
| Рейтинг: 0.0/0 |
|
|
|