Настройка VPN в OpenSuse 10.3
Материал из МФТИ-телеком.
Для подключения к VPN Вам необходимо установить пакет pptp.
Содержание |
[править] Настройка учетной записи
# pptp-command setup 1.) Manage CHAP secrets 2.) Manage PAP secrets 3.) List PPTP Tunnels 4.) Add a NEW PPTP Tunnel 5.) Delete a PPTP Tunnel 6.) Configure resolv.conf 7.) Select a default tunnel 8.) Quit ?: 1
Выбираем 1.) Manage CHAP secrets.
1.) List CHAP secrets 2.) Add a New CHAP secret 3.) Delete a CHAP secret 4.) Quit ?: 2
Выбираем 2.) Add a New CHAP secret
Add a NEW CHAP secret.
NOTE: Any backslashes (\) must be doubled (\\).
Local Name:
This is the 'local' identifier for CHAP authentication.
NOTE: If the server is a Windows NT machine, the local name
should be your Windows NT username including domain.
For example:
domain\\username
Local Name: 123456
Вместо 123456 вводим номер договора( 6 цифр).
Remote Name: This is the 'remote' identifier for CHAP authentication. In most cases, this can be left as the default. It must be set if you have multiple CHAP secrets with the same local name and different passwords. Just press ENTER to keep the default. Remote Name [PPTP]:
Нажимаем <Enter>.
Password: This is the password or CHAP secret for the account specified. The password will not be echoed. Password:
Вводим свой пароль из договора.
Adding secret 123456 PPTP ***** 1.) List CHAP secrets 2.) Add a New CHAP secret 3.) Delete a CHAP secret 4.) Quit ?: 4
Выходим в главное меню.
[править] Опции соединения pptp
Открываем(создаем) файл /etc/ppp/options.pptp и оставляем только это
nodeflate nobsdcomp noauth
[править] Настройка туннеля
1.) Manage CHAP secrets 2.) Manage PAP secrets 3.) List PPTP Tunnels 4.) Add a NEW PPTP Tunnel 5.) Delete a PPTP Tunnel 6.) Configure resolv.conf 7.) Select a default tunnel 8.) Quit ?: 4
Выбираем 4.) Add a NEW PPTP Tunnels
Add a NEW PPTP Tunnel. 1.) Other Which configuration would you like to use?: 1 Tunnel Name: pptp //имя тоннеля Server IP: 193.125.142.233 //IP-адрес vpdn-campus.mipt.ru What route(s) would you like to add when the tunnel comes up? This is usually a route to your internal network behind the PPTP server. You can use TUNNEL_DEV and DEF_GW as in /etc/pptp.d/ config file TUNNEL_DEV is replaced by the device of the tunnel interface. DEF_GW is replaced by the existing default gateway. The syntax to use is the same as the route(8) command. Enter a blank line to stop. route: <Enter> //пока не добавляем никаких маршрутов Local Name and Remote Name should match a configured CHAP or PAP secret. Local Name is probably your NT domain\username. NOTE: Any backslashes (\) must be doubled (\\). Local Name: 123456 //имя созданной учетной записи Remote Name [PPTP]: <Enter> Adding pptp - 193.125.142.233 - 123456 - PPTP Added tunnel pptp
Делаем созданный тунель туннелем по умолчанию:
1.) Manage CHAP secrets 2.) Manage PAP secrets 3.) List PPTP Tunnels 4.) Add a NEW PPTP Tunnel 5.) Delete a PPTP Tunnel 6.) Configure resolv.conf 7.) Select a default tunnel 8.) Quit ?: 7 The current default is /etc/ppp/peers/1 1.) 1 2.) mipt 3.) pptp 4.) cancel Which tunnel do you want to be the default?: 3
Выбираем свой туннель.
Теперь мы можем подключиться к сети командой
#pptp-command start
Но связь обрывается примерно через минуту - у нас не настроен роутинг.
[править] Настройки маршрутов
Первоначально все пакеты от нашего компьютера идут в VPN-cеть через устройство ppp0. Но это - фиктивное устройство. Фактически все пакеты идут по сети Ethernet через шлюз к серверу VPN. Значит, мы должны отдельно прописать этот маршрут.
DNS-сервера расположены внутри локальной сети. Чтобы обращаться к серверам Интернета по имени, а не адресу, мы должны прописать маршрут и до них.
И, наконец, для доступа к локальным ресурсам нам не нужен VPN. К ним мы обращаемся напрямую через шлюз.
Все это делается в следующем скрипте:
# cat /usr/bin/telecom #!/bin/sh # # pptp #Роутинг до VPN (дублированный) route add -host 193.125.142.233 gw 10.55.116.1 #Роутинг до локальных ресурсов route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.55.116.1 route add -net 172.16.0.0 netmask 255.240.0.0 gw 10.55.116.1 route add -net 192.168.0.0 netmask 255.255.0.0 gw 10.55.116.1 route add -net 81.5.64.0 netmask 255.255.192.0 gw 10.55.116.1 route add -net 192.188.189.0 netmask 255.255.255.0 gw 10.55.116.1 #В следующей строке прописывается маршрут до подсети с DNS-сервером route add -net 193.125.142.0 netmask 255.255.254.0 gw 10.55.116.1 route add -net 194.85.80.0 netmask 255.255.252.0 gw 10.55.116.1 sleep 2 echo "Turning on" pptp-command start sleep 10 #Пускаем Интернет-траффик route add default dev ppp0 exit 0
10.55.116.1 - это IP-адрес шлюза. Его можно узнать с помощью команды route.
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface loopback * 255.0.0.0 U 0 0 0 lo default 10.55.116.1 0.0.0.0 UG 0 0 0 eth0
Скрипт нужно сделать исполняемым:
# chmod u+x /usr/bin/telecom
Сейчас можно проверить подключение:
# /usr/bin/telecom # ping ya.ru //доступ к ресурсам Интернета PING ya.ru (213.180.204.8) 56(84) bytes of data. 64 bytes from ya.ru (213.180.204.8): icmp_seq=1 ttl=61 time=1.82 ms # ping 194.85.80.2 //доступ к локальным ресурсам PING 194.85.80.2 (194.85.80.2) 56(84) bytes of data. 64 bytes from 194.85.80.2: icmp_seq=1 ttl=63 time=0.284 ms 64 bytes from 194.85.80.2: icmp_seq=2 ttl=63 time=0.258 ms
