Четверг, 25.05.2017, 15:42
# FreeBSD ГлавнаяРегистрацияВход
Приветствую Вас Гость | RSS
Меню сайта
Категории раздела
Мои статьи [167]
Статистика

Онлайн всего: 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)
Просмотров: 1517 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2017Сделать бесплатный сайт с uCoz