В жизни часто получается, что мы изучаем что-то новое скорее по мере необходимости, нежели по собственному желанию. Недавно поступила задача перенастроить VPN сервер, а вместе с ней – повод разобраться, как он работает. Итак, приступим.
Допустим, у нас уже есть машина с установленным Linux (в данном случае openSUSE) .
В первую очередь инсталлируем pptpd. Почему не OpenVPN, к примеру? Простота подключения и настройки играют здесь ключевую роль.
1 |
zipper install pptpd |
После удачной установки переходим в файл конфигурации. Но сначала надо поставить редактор nano, если его нет:
1 |
zipper install nano |
Теперь можно и перейти в файл конфигурации:
1 |
nano /etc/pptpd.conf |
Первое, что мы видим, – это очень много букв
Пугаться не стоит – нужно изменить всего лишь 2 настройки: local ip и remote ip option.
Local ip – это IP интерфейса, куда будет заводиться туннель с последующим построением внутреннего туннеля. Здесь можно указать начало 16 сетки типа 192.168.0.1 или локальный адрес сервера, где разворачивается VPN.
Remote ip option – это диапазон IP для клиентов в рамках сети, которую мы задали в local ip.
Меняем строку option на /etc/ppp/pptpd-options (по желанию).
Должно получиться нечто подобное:
1 2 3 4 5 6 |
speed 115200 option /etc/ppp/pptpd-options debug localip 192.168.0.1 remoteip 192.168.1.100-199 pidfile /var/run/pptpd.pid |
С конфигурацией сервиса справились. Переходим к настройке авторизации. Для начала вводим в консоли:
1 |
nano /etc/ppp/pptpd-options |
Снова много букв (ох уж этот Линукс :))
Вот пример настроенной конфигурации:
1 2 3 4 5 6 7 8 9 10 11 12 |
lock mtu 1490 mru 1490 ipcp-accept-local ipcp-accept-remote lcp-echo-failure 3 lcp-echo-interval 5 auth require-mschap-v2 +mppe-128 ms-dns Ваш ДНС1 ms-dns Ваш ДНС2 |
Теперь создадим аккаунты для наших пользователей. Для этого снова вводим в консоли:
1 |
nano /etc/ppp/chap-secrets |
Видим табличку, синтаксис заполнения прост:
1 |
Логин Имя сервера Пароль IP клиента или (*) |
В общем, это все, что требовалось сделать. Рестартуем VPN и пишем в консоли:
1 |
/etc/init.d/pptpd restart |
Чтобы все эта кухня заработала, нужно:
- поднастроить firewall, разрешив GRE и порт 1723:
1 2 |
iptables -A INPUT -p gre -j ACCEPT iptables -A INPUT -m tcp -p tcp --dport 1723 -j ACCEPT |
- разрешить форвардинг пакетов:
1 |
nano /proc/sys/net/ipv4/ip_forward 1 |
- сделать форвардинг порта 1723 на роутере, куда заходит интернет в локальный адрес нашего VPN сервера.В использовании openSUSE есть одна сложность. Дело в том, что стандартный административный пакет YaST имеет свой firewall, про который почти никто не знает. Его можно отключить, но если все же решите работать с ним, не забудьте настроить iptables.SUSE Firewall выключается командой:
1rcSuSEfirewall2 stopНе забывайте, что в Линуксе регистр букв в команде имеет значение!
На сегодня все. Скоро мы поделимся опытом по настройке VPN сервера на классической “юзерской” Linux платформе Ubuntu.