Данная инструкция написана на основе Debian 3.1. Для успешного подключения к VPN серверу GT необходимо наличие в ядре поддержки mppe и пакета pptp-linux. При соответствующих изменениях может быть использована и для других Linux. Перед началом работы, проверьте, что установлен пакет pptp-linux. Этот пакет - клиентская часть VPN. На данный момент существует два варианта подключения к VPN в зависимости от района и оборудования ГТ. Первый, вам выдали статические адреса для подключения, и второй - адреса определяются автоматически (по DHCP). Предположим, что от провайдера вы получили следующие реквизиты: IP адрес VPN сервера 10.19.0.1 IP вашего компьютера 10.20.0.17 Маска 255.255.255.252 Шлюз 10.20.0.18 Имя пользователя: my_login Пароль пользователя: my_pass Будьте внимательны!!! Вышеуказанные реквизиты условны и вы должны заменить их своими данными!! Для того, чтобы подключить компьютер к Интернету, используя VPN, требуется отредактировать три файла и создать один файл: 1. Файл описания сетевого (или нескольких) интерфейса. /etc/network/interfaces 2. Файл паролей /etc/ppp/chap-secrets 3. Вновь созданный файл в каталоге /etc/ppp/peers/, названный, например, tunnel. /etc/ppp/peers/tunnel 4. Файл инициализации (переинициализации). /etc/inittab 1. /etc/network/interfaces Предположим, что у вас имеется два сетевых интерфейса eth0 и eth1. Интерфейс (сетевая карта) eth0 для внутренней сети имеет, например: ip 192.168.0.1 mask 255.255.255.0 Интерфейс, выходящий в Интернет (eth1), имеет настройки, полученные от провайдера. Например: ip 10.20.0.17 mask 255.255.255.252 gate 10.20.0.18 Примечание : Возможно, в вашем районе адреса назначаются автоматически по DHCP, в этом случае провайдер вам выдает только адрес Vpn-сервера, логин и пароль. ################ начало файла ########################## # /etc/network/interfaces -- configuration file for ifup(8), ifdown(8) # The loopback interface auto lo iface lo inet loopback # The first network card - this entry was created during the Debian installation # (network, broadcast and gateway are optional) auto eth0 iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 # Настройки второго интерфейса, выходящего в Интернет # (network, broadcast and gateway are optional) auto eth1 iface eth1 inet static address 10.20.0.29 netmask 255.255.255.252 # Для доступа к VPN серверу провайдера необходим маршту, # поэтому дописывается строка up route add 10.19.0.1 gw 10.20.0.18 ################### конец файла ###################### Внимание: 1. Если адреса назначаются по DHCP, то настройки внешнаго интерфейса выглядят так : auto eth1 iface eth1 inet dhcp 2. Если ваш компьютер имеет только одну сетевую карту, то настройки eth1 применяются для eth0 и секция eth1 удаляется. 3. Если сетевых карт две и в Интернет "смотрит" eth0, то настройки eth0 и eth1 просто меняются местами. 4. После изменения файла interfaces для поднятия интерфейса нужно дать команду ifconfig eth1 up 2. /etc/ppp/chap-secrets В этот файл необходимо добавить строку, содержащую информацию об авторизации, полученную от првайдера. Замените слова my_login и my_pass своими данными. #################### начало файла ######################## # Secrets for authentication using CHAP # client server secret IP addresses my_login * "my_pass" * ##################### конец файла ####################### 3. /etc/ppp/peers/tunnel Во вновь созданный файл tunnel в каталоге /etc/ppp/peers/ скопируйте нижеследующее содержимое и замените слово my_login своими данными А также в строке pty "/usr/sbin/pptp 10.19.0.1 --nolaunchpppd" адрес 10.19.0.1 должен быть VPN сервером провайдера, mtu 1492 - рекомендуется. #################### начало файла ######################## # Configuration file for PPP, using PPP over Ethernet # to connect to a DSL provider. # # See the manual page pppd(8) for information on all the options. ## # Section 1 # # Stuff to configure... # MUST CHANGE: Uncomment the following line, replacing the user@provider.net # by the DSL user name given to your by your DSL provider. # (There should be a matching entry in /etc/ppp/pap-secrets with the password.) user my_login # Use the pppoe program to send the ppp packets over the Ethernet link # This line should work fine if this computer is the only one accessing # the Internet through this DSL connection. This is the right line to use # for most people. pty "/usr/sbin/pptp 10.19.0.1 --nolaunchpppd" # If the computer connected to the Internet using pppoe is not being used # by other computers as a gateway to the Internet, you can try the following # line instead, for a small gain in speed: #pty "/usr/sbin/pppoe -I eth0 -T 80" # An even more conservative version of the previous line, if things # don't work using -m 1452... #pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1412" # The following two options should work fine for most DSL users. # Assumes that your IP address is allocated dynamically # by your DSL provider... noipdefault # Comment out if you already have the correct default route installed defaultroute ## # Section 2 # # Uncomment if your DSL provider charges by minute connected # and you want to use demand-dialing. # # Disconnect after 300 seconds (5 minutes) of idle time. #demand #idle 300 ## # Section 3 # # You shouldn't need to change these options... #hide-password #lcp-echo-interval 20 #lcp-echo-failure 3 # Override any connect script that may have been set in /etc/ppp/options. connect /bin/true #require-chap noauth persist mtu 1492 #debug #kdebug 15 ##################### конец файла ####################### После этого можно попробовать установить соединение командой pppd call tunnel При успешном соединении с сервером провайдера в системе должен появиться дополнительный ppp интефейс, который будет видно в ifconfig 4. Если есть необходимость, в том чтобы pptp соединенте поднималось всегда, например сразу же при загрузке компьютера и дальше постоянно было активным, то в файл : /etc/inittab нужно добавить только одну строку в самом конце. #################### начало файла ######################## # /etc/inittab: init(8) configuration. # $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $ # The default runlevel. id:2:initdefault: # Boot-time system configuration/initialization script. # This is run first except when booting in emergency (-b) mode. si::sysinit:/etc/init.d/rcS # What to do in single-user mode. ~~:S:wait:/sbin/sulogin # /etc/init.d executes the S and K scripts upon change # of runlevel. # # Runlevel 0 is halt. # Runlevel 1 is single-user. # Runlevels 2-5 are multi-user. # Runlevel 6 is reboot. l0:0:wait:/etc/init.d/rc 0 l1:1:wait:/etc/init.d/rc 1 l2:2:wait:/etc/init.d/rc 2 l3:3:wait:/etc/init.d/rc 3 l4:4:wait:/etc/init.d/rc 4 l5:5:wait:/etc/init.d/rc 5 l6:6:wait:/etc/init.d/rc 6 # Normally not reached, but fallthrough in case of emergency. z6:6:respawn:/sbin/sulogin # What to do when CTRL-ALT-DEL is pressed. ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now # Action on special keypress (ALT-UpArrow). #kb::kbrequest:/bin/echo "Keyboard Request--edit /etc/inittab to let this work." # What to do when the power fails/returns. pf::powerwait:/etc/init.d/powerfail start pn::powerfailnow:/etc/init.d/powerfail now po::powerokwait:/etc/init.d/powerfail stop # /sbin/getty invocations for the runlevels. # # The "id" field MUST be the same as the last # characters of the device (after "tty"). # # Format: # ::: # # Note that on most Debian systems tty7 is used by the X Window System, # so if you want to add more getty's go ahead but skip tty7 if you run X. # 1:2345:respawn:/sbin/getty 38400 tty1 2:23:respawn:/sbin/getty 38400 tty2 3:23:respawn:/sbin/getty 38400 tty3 4:23:respawn:/sbin/getty 38400 tty4 5:23:respawn:/sbin/getty 38400 tty5 6:23:respawn:/sbin/getty 38400 tty6 # Example how to put a getty on a serial line (for a terminal) # #T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100 #T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100 # Example how to put a getty on a modem line. # #T3:23:respawn:/sbin/mgetty -x0 -s 57600 ttyS3 # Эта строка добавлена для установки соединения T3:23:respawn:/usr/sbin/pppd nodetach call tunnel ##################### конец файла ####################### После перезагрузки pptp активизируется автоматически. __________________________________________________________ Дополнительная информация: Если компьютер под Linux'ом использовать в роли шлюза, то клиентские компьютеры могут не соединиться с отдельными сайтами. В частности: www.dom2.ru, www.erc.ur.ru, а также соединение "клиент-банк" ВУЗ-банка. Проблема вызвана несовместимостью сетевых настроек MTU. MTU (Maximum Transmission Unit) - это максимальный размер пакета получаемых/передаваемых данных. Значение MTU по умолчанию - 1500, а протокол PPPoE использует 1492 или 1454. Способ решения проблемы: 0. Установить VPN подключение. 1. Определите IP адрес вашего шлюза (default gateway). Для этого наберите route -n в командной строке на машине, где установлен Linux, в строчке начинающейся с 0.0.0.0 нужное нам значение находится в столбике Gateway. 2. Затем на одной из клиентских машин наберите: PING -f -l 1500 xxx.xxx.xxx.xxx (где xxx.xxx.xxx.xxx - адрес шлюза, который Вы получили на предыдущем шаге). Вполне вероятно, что вы получите сообщение об ошибке, указывающее, что пакет должен быть фрагментирован. Если это так, то попробуйте: PING -f -l 1492 xxx.xxx.xxx.xxx. Если и эта команда не работает, то: PING -f -l 1454 xxx.xxx.xxx.xxx. Числа в каждом из этих примеров (1500, 1492, 1454) - значения MTU. Продолжайте запускать эту команду, постепенно уменьшая значения MTU до тех пор, пока вместо сообщения об ошибке не появится нормальный ответ со стороны шлюза. Наибольшее значение MTU из сработавших и является тем, которое Вам нужно использовать. 3. Сконфигурируйте все ваши клиентские компьютеры так, чтобы вместо значения MTU по умолчанию, использовать другое значение. Для Windows 2000 и XP: - Запустите Редактор реестра (REGEDIT.EXE) на одной из ваших клиентских машин. - Найдите ключ HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParametersInterfaces Там должно быть несколько вложенный ключей для ключа Interfaces; вероятнее всего, их будет три. - Посмотрите содержание каждого ключа, и найдите тот, который соответствует вашему сетевому адаптеру. Создайте в нем новый параметр MTU типа DWORD. - Кликните дважды на новом значении, выберите опцию Decimal, и введите значение MTU, определенное вами. - Для вступления изменений в силу перезагрузите Windows. Windows 98 / ME: - Запустите Registry Editor (REGEDIT.EXE) на одной из ваших клиентских машин. - Перейдите в раздел HKEY_LOCAL_MACHINESystemCurrentControlSetServicesClassNet - В этой ветви найдите ключ (типа 0005), который содержит TCP/IP, задаваемый значением DriverDesc. - Создайте параметр MaxMTU типа "Строковой параметр". - Щелкните дважды на новом значении, выберите опцию Decimal, и введите значение MTU, определенное выше. - Перезагрузите Windows для того, чтобы изменения вступили в силу. Повторите описанную выше процедуру для каждой клиентской машины во внутренней сети. Для упрощения задачи можно использовать программы умеющие изменять MTU, например DrTCP MTU Registry Tweak Utility.
|