UfaNet.ru - Друзья всегда с тобой

UFANET ГЛАВНАЯ ИНТЕРНЕТ КАБЕЛЬНОЕ ТВ ЦИФРОВОЕ ТВ ТЕЛЕФОНИЯ IP-ТЕЛЕФОНИЯ КОНТАКТЫ

круглосуточная поддержка

Универсальный подход,
низкие цены,
выгодные тарифы










Рекомендую посетить:
Настройка VPN-подключения в операционной системе Linux (version B)

Для начала удостоверимся, что наша сетевая плата обнаружилась и присутствует среди списка сетевых интерфейсов:

[root@gw etc]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:E0:18:**:**:**
          inet addr:10.64.182.**  Bcast:10.64.182.255  Mask:255.255.255.0
          inet6 addr: fe80::2e0:18ff:fe0b:40d0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:115646056 errors:0 dropped:0 overruns:0 frame:0
          TX packets:112690751 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:537361141 (512.4 MiB)  TX bytes:3701536255 (3.4 GiB)
          Interrupt:12 Base address:0xd400

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:9363 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9363 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:565965 (552.7 KiB)  TX bytes:565965 (552.7 KiB)

Отлично! Теперь, чтобы не мучиться с прописыванием маршрутов, немного поправим конфиги и скрипты isc dhclient'a:
В /etc/dhclient-ethX.conf пишем:

timeout 60;
retry 60;
reboot 10;
select-timeout 5;
initial-interval 2;

interface "ethX" {
send host-name "linux-box";
send dhcp-lease-time 3600;
prepend domain-name "ufanet.ru";
prepend domain-name-servers 81.30.199.5;
request subnet-mask, broadcast-address, time-offset, routers;
script "/sbin/dhclient-script-ufanet";
}

где вместо X - номер интерфейса, вместо linux-box - хостнейм машины, а также создадим копию имеющегося скриптика /sbin/dhclient-script:

cp /sbin/dhclient-script /sbin/dhclient-script-ufanet

и в двух местах, где фигурирует добавление роутеров убираем (комментируем или удаляем) строчку создания маршрута по умолчанию и добавляем маршруты до pptp-сервера pptp.ufanet.ru и dhcp/dns-сервера 10.8.3.1
было:

for router in $new_routers; do
      route add default gw $router $interface
done

стало:

for router in $new_routers; do
      route add -host pptp.ufanet.ru gw $router $interface
      route add -host 10.8.3.1 gw $router $interface
done

перезапускаем dhclient и проверяем, что у нас хорошего в таблице маршрутизации и в /etc/resolv.conf:

[root@gw sbin]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
pptp.ufanet.ru        10.64.182.1     255.255.255.255 UGH   0      0        0 eth0
10.8.3.1        10.64.182.1     255.255.255.255 UGH   0      0        0 eth0
10.64.182.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

[root@gw peers]# cat /etc/resolv.conf
search ufanet.ru

nameserver 10.8.3.1

Никаких маршрутов до 0.0.0.0 там быть не должно. Проверяем связь до pptp.ufanet.ru и 10.8.3.1:

[root@gw sbin]# ping 10.8.3.1
PING 10.8.3.1 (10.8.3.1) 56(84) bytes of data.
64 bytes from 10.8.3.1: icmp_seq=1 ttl=60 time=0.973 ms
64 bytes from 10.8.3.1: icmp_seq=2 ttl=60 time=1.09 ms
64 bytes from 10.8.3.1: icmp_seq=3 ttl=60 time=1.49 ms
64 bytes from 10.8.3.1: icmp_seq=4 ttl=60 time=1.35 ms

--- 10.8.3.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2998ms
rtt min/avg/max/mdev = 0.973/1.232/1.499/0.207 ms
[root@gw sbin]# ping pptp.ufanet.ru
PING pptp.ufanet.ru (pptp.ufanet.ru) 56(84) bytes of data.
64 bytes from pptp.ufanet.ru: icmp_seq=1 ttl=63 time=1.11 ms
64 bytes from pptp.ufanet.ru: icmp_seq=2 ttl=63 time=0.572 ms
64 bytes from pptp.ufanet.ru: icmp_seq=3 ttl=63 time=1.08 ms
64 bytes from pptp.ufanet.ru: icmp_seq=4 ttl=63 time=1.17 ms

--- pptp.ufanet.ru ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 0.572/0.988/1.174/0.242 ms

Счастье есть.

Далее приступаем к настройке pptp-client и pppd. Сразу хочу сказать, что лучше всего ставить самые свежие версии этих программ, а не использовать идущие в дистрибутивах. Загрузить их можно с: http://pptpclient.sourceforge.net/#download (внешний траффик) и http://ppp.samba.org/ppp/download.html (внешний траффик) сначала ставим pppd: ./configure && make && make install, а потом pptp: make && make install (под root разумеется). затем создаем файлик ufanet в /etc/ppp/peers следущего содержания:

name LOGIN
remotename LOGIN
unit 5
pty "pptp pptp.ufanet.ru --nolaunchpppd"
lock
noauth
defaultroute
persist
idle 0
maxfail 15
debug
nobsdcomp
nodeflate
lcp-echo-failure 36
lcp-echo-interval 5
lcp-max-failure 0
#mppe-40
#mppe-128
#mppe-stateless

вместо LOGIN пишем логин с карты регистрации, затем в /etc/ppp/chap-secrets пишем строку в формате:

LOGIN  LOGIN PASSWD

где LOGIN и PASSWD - соотвественно логин и пароль с карты регистрации.

Теперь, чтобы установить соединение делаем pppd call ufanet и через несколько секунд получаем интерфейс ppp5 с (не)реальным адресом и работающий интернет:

[root@gw peers]# ifconfig ppp5
ppp5     Link encap:Point-to-Point Protocol
         inet addr:81.30.215.68  P-t-P:10.8.0.8  Mask:255.255.255.255
         UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1460  Metric:1
         RX packets:424 errors:0 dropped:0 overruns:0 frame:0
         TX packets:412 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:3
         RX bytes:32155 (31.4 KiB)  TX bytes:247790 (241.9 KiB)

[root@gw peers]# ping ufanet.ru
PING ufanet.ru (81.30.199.70) 56(84) bytes of data.
64 bytes from mail.ufanet.ru (81.30.199.70): icmp_seq=1 ttl=60 time=2.79 ms
64 bytes from mail.ufanet.ru (81.30.199.70): icmp_seq=2 ttl=60 time=2.06 ms
64 bytes from mail.ufanet.ru (81.30.199.70): icmp_seq=3 ttl=60 time=2.72 ms

--- ufanet.ru ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1998ms
rtt min/avg/max/mdev = 2.068/2.529/2.797/0.332 ms
[root@gw peers]# ping google.com
PING google.com (64.233.167.99) 56(84) bytes of data.
64 bytes from py-in-f99.google.com (64.233.167.99): icmp_seq=1 ttl=241 time=178 ms
64 bytes from py-in-f99.google.com (64.233.167.99): icmp_seq=2 ttl=241 time=177 ms
64 bytes from py-in-f99.google.com (64.233.167.99): icmp_seq=3 ttl=241 time=176 ms
64 bytes from py-in-f99.google.com (64.233.167.99): icmp_seq=4 ttl=241 time=179 ms
64 bytes from py-in-f99.google.com (64.233.167.99): icmp_seq=5 ttl=241 time=177 ms

--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4000ms
rtt min/avg/max/mdev = 176.783/177.859/179.887/1.195 ms

Счастья нет? Перечитываем ман, думаем, читаем логи (для незнающих: /var/log/messages), думаем ещё раз, заодно подучиваем английский язык :) Всё равно не получается? Гуглим :)

Послесловие

Иногда возникает проблема с автонастроенным iptables/shorewall. Рекомендую в первом случае выключить его, сбросив политики цепочек в ACCEPT командой service iptables stop (в rpm-based дистрибутивах), а во втором и вовсе снести его.

© Antosha


В материалах использована информация сисадминов "Уфанет"
Вопросы и отзывы приветствуются: mastera собака ufanet точка ru