Вы здесь

[РЕШЕНО] Помогите настроить VPN

Не могу настроить соединение VPN для подключения к интернету.

Что делал:
1. Установил пакеты:

tux lxuser # emerge ppp pptpclient dhcp -pv

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] net-dialup/ppp-2.4.4-r15  USE="dhcp gtk -activefilter -atm
-eap-tls -ipv6 -mppe-mppc -pam -radius" 0 kB
[ebuild   R   ] net-misc/dhcp-3.1.1  USE="-doc -minimal (-selinux) -static" 0
kB
[ebuild   R   ] net-dialup/pptpclient-1.7.1-r1  USE="tk" 0 kB

Total: 3 packages (3 reinstalls), Size of downloads: 0 kB
tux lxuser #

2. Заполнил /etc/conf.d.net :

modules=( "ifconfig" )
config_eth0=( "dhcp" )
config_ppp0=( "ppp" )
link_ppp0="pty 'pptp vpn.internet.beeline.ru--nolaunchpppd --nobuffer --loglevel 0'"

username_ppp0='mylogin'
password_ppp0='mypassword'

pppd_ppp0="defaultroute lock noauth refuse-eap require-chap refuse-mschap
nobsdcomp nopcomp noaccomp nodeflate persist maxfail 0 holdoff 10
lcp-echo-interval 60 lcp-echo-failure 10 password mypassword"

depend_ppp0() {need net.eth0}

3. Запускаю скрипт:

tux lxuser # /etc/init.d/net.ppp0 start
 * Caching service dependencies ...   [ ok ]
  * Starting ppp0
   *   Bringing up ppp0
    *     ppp
     *       Running pppd ...
      *       Backgrounding ...
tux lxuser # 

В логах:

cat /var/log/messages
Dec 22 14:04:02 tux pppd[17632]: Plugin passwordfd.so loaded.
Dec 22 14:04:02 tux pppd[17633]: pppd 2.4.4 started by root, uid 0
Dec 22 14:04:02 tux pppd[17633]: Using interface ppp0
Dec 22 14:04:02 tux pppd[17633]: Connect: ppp0 <--> /dev/pts/4
Dec 22 14:04:02 tux pppd[17633]: Modem hangup
Dec 22 14:04:02 tux pppd[17633]: Connection terminated.
Dec 22 14:04:12 tux pppd[17633]: Using interface ppp0
Dec 22 14:04:12 tux pppd[17633]: Connect: ppp0 <--> /dev/pts/4
Dec 22 14:04:12 tux pppd[17633]: Modem hangup
Dec 22 14:04:12 tux pppd[17633]: Connection terminated.
Dec 22 14:04:23 tux pppd[17633]: Using interface ppp0
Dec 22 14:04:23 tux pppd[17633]: Connect: ppp0 <--> /dev/pts/4
Dec 22 14:04:23 tux pppd[17633]: Modem hangup
Dec 22 14:04:23 tux pppd[17633]: Connection terminated.
Dec 22 14:04:33 tux pppd[17633]: Using interface ppp0
Dec 22 14:04:33 tux pppd[17633]: Connect: ppp0 <--> /dev/pts/4
Dec 22 14:04:33 tux pppd[17633]: Modem hangup
Dec 22 14:04:33 tux pppd[17633]: Connection terminated.
Dec 22 14:04:43 tux pppd[17633]: Using interface ppp0
Dec 22 14:04:43 tux pppd[17633]: Connect: ppp0 <--> /dev/pts/4
Dec 22 14:04:43 tux pppd[17633]: Modem hangup
Dec 22 14:04:43 tux pppd[17633]: Connection terminated.
Dec 22 14:04:53 tux pppd[17633]: Using interface ppp0
Dec 22 14:04:53 tux pppd[17633]: Connect: ppp0 <--> /dev/pts/4
Dec 22 14:04:53 tux pppd[17633]: Modem hangup
Dec 22 14:04:53 tux pppd[17633]: Connection terminated.

Помогите найти ошибку.

PS. Настраиваю в первый раз. Статью на виках читал. Настроить с помощью файлов chap-secrets, my_peer не получилось. Всё чего добился:

tux lxuser # pon my_peer
/usr/sbin/pppd: The remote system (beeline) is required to authenticate itself
/usr/sbin/pppd: but I couldn't find any suitable secret (password) for it to use to do so.

Сделай log-level повыше, посмотри, на что ругается. Какая версия baselayout?

Не грусти, товарищ! Всё хорошо, beautiful good!

См. ниже.

link_ppp0="pty 'beeline.ru--nolaunchpppd --nobuffer --loglevel 0'" - пробел не пропустил?

Как-то раз настраивал я VPN ... Бился пол дня пока не усек в раскрасках-помощи
наших админов (для Форточек естественно), что авторизация идет не CHAP, а PAP :)
Прописал в pap-secrets то что в chap-secrets и заработало на ура.
Кстати, у меня вылетали именно такие как и у тебя ошибки

winterheart написал:
Сделай log-level повыше, посмотри, на что ругается. Какая версия baselayout?

Как сделать log-level выше?
Версия baselayout:

tux lxuser # emerge baselayout -pv

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R   ] sys-apps/baselayout-1.12.11.1  USE="unicode -bootstrap -build
-static" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB
tux lxuser #

Цитата:
link_ppp0="pty 'beeline.ru--nolaunchpppd --nobuffer --loglevel 0'" - пробел не пропустил?

Да пропустил, пробел добавил. Затем подключился, вот лог:


cat /var/log/messages/
22 18:26:31 tux pppd[17378]: Plugin passwordfd.so loaded.
Dec 22 18:26:31 tux pppd[17378]: Created /dev/ppp device node
Dec 22 18:26:31 tux pppd[17389]: pppd 2.4.4 started by root, uid 0
Dec 22 18:26:31 tux pptp[17391]: anon log[main:pptp.c:272]: The synchronous
pptp option is NOT activated
Dec 22 18:26:31 tux pptp[17400]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent
control packet type is 1 'Start-Control-Connection-Request'
Dec 22 18:26:31 tux pptp[17400]: anon log[ctrlp_disp:pptp_ctrl.c:738]:
Received Start Control Connection Reply
Dec 22 18:26:31 tux pptp[17400]: anon log[ctrlp_disp:pptp_ctrl.c:772]: Client
connection established.
Dec 22 18:26:31 tux pppd[17389]: Using interface ppp0
Dec 22 18:26:31 tux pppd[17389]: Connect: ppp0 <--> /dev/pts/2
Dec 22 18:26:32 tux pptp[17400]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent
control packet type is 7 'Outgoing-Call-Request'
Dec 22 18:26:32 tux pptp[17400]: anon log[ctrlp_disp:pptp_ctrl.c:857]:
Received Outgoing Call Reply.
Dec 22 18:26:32 tux pptp[17400]: anon log[ctrlp_disp:pptp_ctrl.c:896]:
Outgoing call established (call ID 0, peer's call ID 5314).
Dec 22 18:26:32 tux pppd[17389]: Remote message: authentication failure
Dec 22 18:26:32 tux pppd[17389]: Connection terminated.
Dec 22 18:26:32 tux pptp[17400]: anon log[ctrlp_disp:pptp_ctrl.c:928]: Call
disconnect notification received (call id 5314)
Dec 22 18:26:32 tux pptp[17400]: anon log[ctrlp_disp:pptp_ctrl.c:787]:
Received Stop Control Connection Request.
Dec 22 18:26:32 tux pptp[17400]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent
control packet type is 4 'Stop-Control-Connection-Reply'
Dec 22 18:26:32 tux pptp[17400]: anon log[callmgr_main:pptp_callmgr.c:255]:
Closing connection (shutdown)
Dec 22 18:26:32 tux pptp[17400]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent
control packet type is 12 'Call-Clear-Request'
Dec 22 18:26:32 tux pptp[17400]: anon log[call_callback:pptp_callmgr.c:78]:
Closing connection (call state)
Dec 22 18:26:42 tux pppd[17389]: Using interface ppp0
Dec 22 18:26:42 tux pppd[17389]: Connect: ppp0 <--> /dev/pts/2
Dec 22 18:26:42 tux pptp[17411]: anon log[main:pptp.c:272]: The synchronous
pptp option is NOT activated
Dec 22 18:26:42 tux pptp[17415]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent
control packet type is 1 'Start-Control-Connection-Request'
Dec 22 18:26:42 tux pptp[17415]: anon log[ctrlp_disp:pptp_ctrl.c:738]:
Received Start Control Connection Reply
Dec 22 18:26:42 tux pptp[17415]: anon log[ctrlp_disp:pptp_ctrl.c:772]: Client
connection established.
Dec 22 18:26:43 tux pptp[17415]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent
control packet type is 7 'Outgoing-Call-Request'
Dec 22 18:26:43 tux pptp[17415]: anon log[ctrlp_disp:pptp_ctrl.c:857]:
Received Outgoing Call Reply.
Dec 22 18:26:43 tux pptp[17415]: anon log[ctrlp_disp:pptp_ctrl.c:896]:
Outgoing call established (call ID 0, peer's call ID 12180).
Dec 22 18:26:43 tux pppd[17389]: Remote message: authentication failure
Dec 22 18:26:43 tux pppd[17389]: Connection terminated.
Dec 22 18:26:43 tux pptp[17415]: anon log[ctrlp_disp:pptp_ctrl.c:928]: Call
disconnect notification received (call id 12180)
Dec 22 18:26:43 tux pptp[17415]: anon log[ctrlp_disp:pptp_ctrl.c:787]:
Received Stop Control Connection Request.
Dec 22 18:26:43 tux pptp[17415]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent
control packet type is 4 'Stop-Control-Connection-Reply'
Dec 22 18:26:43 tux pptp[17415]: anon log[callmgr_main:pptp_callmgr.c:255]:
Closing connection (shutdown)
Dec 22 18:26:43 tux pptp[17415]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent
control packet type is 12 'Call-Clear-Request'
Dec 22 18:26:43 tux pptp[17415]: anon log[call_callback:pptp_callmgr.c:78]:
Closing connection (call state)

Смущает вот это:

Dec 22 18:26:31 tux pptp[17391]: anon log[main:pptp.c:272]: The synchronous
pptp option is NOT activated

Как включить эту опцию? (Ядро собирал genkernel`ом : genkernel all)

Цитата:
авторизация идет не CHAP, а PAP

А как включить PAP авторизацию в /etc/conf.d/net?

Попробовал вот с этими опциями:

pppd_ppp0="defaultroute lock noauth require-eap require-chap require-mschap
nobsdcomp nopcomp noaccomp nodeflate persist maxfail 0 holdoff 10
lcp-echo-interval 60 lcp-echo-failure 10 password mypassword"

Те же сообщения в логе.

pol01 написал:
Как сделать log-level выше?

link_ppp0="pty 'beeline.ru --nolaunchpppd --nobuffer --loglevel 0'"
Убери --loglevel 0. И, если хочешь, поставь debug в pppd_ppp0.

На это:

Dec 22 18:26:31 tux pptp[17391]: anon log[main:pptp.c:272]: The synchronous
pptp option is NOT activated

не обращайте внимания.

PAP авторизацию отдельно включать не надо, для нее существует /etc/ppp/pap-secrets.
Для этого нужно добавить туда строку вида:

login * password *

только скорее всего вам этого делать не нужно.
Для соединения pptp всегда используется chap авторизация. Это у нормальных людей.
Потому, что pap передает логин/пароль в чисто текстовом виде.
Уберите require-eap require-chap require-mschap из параметров pppd_ppp0. Затем в /etc/chap/chap-secrets добавьте:

mylogin * mypassword *

затем попробуйте еще раз.

И пользуйтесь поиском - http://www.gentoo.ru/node/13089#comment-90474

MVG написал:

Уберите require-eap require-chap require-mschap из параметров pppd_ppp0. Затем в /etc/chap/chap-secrets добавьте:

mylogin * mypassword *

и попробуйте еще.

Буду дома попробую.

Такой вот вопрос.
В /etc/conf.d./net указан и логин и пароль; его нужно добавить в оба файла (net + chap-secrets), или можно только в chap-secrets?

Его нужно убрать из /etc/conf.d/net и добавить только в /etc/ppp/chap-secrets. Так будет работать всегда, а вот с /etc/conf.d/net иногда не срабатывало.

Оказывается для билайна, надо к логину, который записан в регистрационной карточке, добавлять @internet.beeline.ru

Тогда, по-моему, соединение создается. Вот лог:

Dec 23 04:10:54 tux pppd[4226]: Created /dev/ppp device node
Dec 23 04:10:54 tux pppd[4237]: pppd 2.4.4 started by root, uid 0
Dec 23 04:10:54 tux pppd[4237]: Using interface ppp0
Dec 23 04:10:54 tux pppd[4237]: Connect: ppp0 <--> /dev/pts/2
Dec 23 04:10:54 tux pptp[4240]: anon log[main:pptp.c:272]: The synchronous
pptp option is NOT activated
Dec 23 04:10:54 tux pptp[4253]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent
control packet type is 1 'Start-Control-Connection-Request'
Dec 23 04:10:54 tux pptp[4253]: anon log[ctrlp_disp:pptp_ctrl.c:738]: Received
Start Control Connection Reply
Dec 23 04:10:54 tux pptp[4253]: anon log[ctrlp_disp:pptp_ctrl.c:772]: Client
connection established.
Dec 23 04:10:55 tux pptp[4253]: anon log[ctrlp_rep:pptp_ctrl.c:251]: Sent
control packet type is 7 'Outgoing-Call-Request'
Dec 23 04:10:55 tux pptp[4253]: anon log[ctrlp_disp:pptp_ctrl.c:857]: Received
Outgoing Call Reply.
Dec 23 04:10:55 tux pptp[4253]: anon log[ctrlp_disp:pptp_ctrl.c:896]: Outgoing
call established (call ID 0, peer's call ID 13387).
Dec 23 04:10:55 tux pppd[4237]: PAP authentication succeeded
Dec 23 04:10:55 tux pppd[4237]: local  IP address 212.56.208.93
Dec 23 04:10:55 tux pppd[4237]: remote IP address 172.19.182.49
Dec 23 04:11:55 tux pptp[4253]: anon log[logecho:pptp_ctrl.c:676]: Echo Reply
received.
Dec 23 04:12:55 tux pptp[4253]: anon log[logecho:pptp_ctrl.c:676]: Echo Reply
received.

Только ничего не пингуется. Может кто подскажет. Вот вывод ifconfig и route -n после включения VPN:

#ifconfig
eth0      Link encap:Ethernet  HWaddr 00:11:d7:45:21:79  
          inet addr:10.100.111.166  Bcast:10.100.111.255  Mask:255.255.254.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:55 errors:0 dropped:0 overruns:0 frame:0
          TX packets:88 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4318 (4.2 KiB)  TX bytes:7656 (7.4 KiB)
          Interrupt:19 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:212.56.208.93  P-t-P:172.19.182.49  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:40 (40.0 B)  TX bytes:46 (46.0 B)



tux lxuser # route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.19.182.49   0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
10.100.110.0    0.0.0.0         255.255.254.0   U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         10.100.110.1    0.0.0.0         UG    0      0        0 eth0
tux lxuser #

Потомучто у тебя defaultroute не через ppp0.
Попробуй после поднятия соединения сделать:

route add -host 172.19.182.49 gw 10.100.110.1
route del default
route add default gw ppp0

Не работает:

tux lxuser # route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.19.182.49   0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
10.100.110.0    0.0.0.0         255.255.254.0   U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         10.100.110.1    0.0.0.0         UG    0      0        0 eth0

tux lxuser # route add -host 172.19.182.49 gw 10.100.110.1
tux lxuser # route del default
tux lxuser # route add default gw ppp0
ppp0: Неизвестный хост


Ошибся я немного надо не
route add default gw ppp0
а
route add default ppp0

Ну что? Заработало?

Не одно, так другое. У провайдера, проблемы с его стороны. Как востановят, я попробую настроить и обязательно отпишу.

Всё, настроил. Делал так.

1. Прописал статические маршруты до vpn и dns серверов:

rount add -host <dns_1> gw <шлюз>
rount add -host <dns_2> gw <шлюз>
rount add -host <vpn> gw <шлюз>

2. Удалил маршрут по умолчанию и установил vpn соединение:

route del default
/etc/init.d/net.ppp0 start

3. Установл маршрут по умолчанию через интерфейс ppp0

route add default dev ppp0

Спасибо всем отвечавшим.

Можно как нибудь этот процесс автоматизировать, не хочет убивать дефолт с сети и ставить на создоваемое ppp, ну и в логах как положенно:
[pppd] not replacing existing default route to

можно, помогут скрипты ip-up(/etc/ppp/ip-up.d/) и ip-down

да, все работает...
но все же из-за чего дефолт не хочет меняться?
pptp дабовляет свой, только когда старый предварительно удалить...
может из-за того что дефолт выдал dhcpd?

для pppoe подключение нужно в опциях указать также defaultroute

baricada ~ # cat /etc/conf.d/net

dns_domain_lo="**********"
        #eth0
config_eth0=( "192.168.0.1 netmask 255.255.255.0 brd 192.168.0.255" )
# routes_eth0=( "default gw 192.168.0.49" )
        #eth1
config_eth1=( "10.0.0.1 netmask 255.255.255.0 brd 10.0.0.255" )
        #ppp0
config_ppp0=("ppp")
link_ppp0="eth1"
plugins_ppp0=( "pppoe" )
username_ppp0='PppoEkhb20071021140445'
#pppd_ppp0=("noauth" "defaultroute" "usepeerdns"  "default-asyncmap"
#"ipcp-accept-remote" "ipcp-accept-local" "lcp-echo-interval 15"
#"lcp-echo-failure 3" "persist" "holdoff 2" "mru 1492"  "mtu 1492"
#"lock" )

config_eth2=( "dhcp" )
routes_eth2=(
#       "default via 10.24.72.1" #default
       "10.0.0.0/8 via 10.24.72.1" #local net
       "89.179.135.67 via 10.24.72.1" #Corbina.ru, help.corbina.ru
       "195.14.50.26 via 10.24.72.1" #stats
       "195.14.50.16 via 10.24.72.1" #mail-server
       "85.21.79.0/24 via 10.24.72.1" #local
       "85.21.90.0/24 via 10.24.72.1" #local
       "85.21.52.254 via 10.24.72.1" #Corbina.TV
       "85.21.88.130 via 10.24.72.1" #Corbina.TV
       "83.102.146.96/27 via 10.24.72.1" #Corbina.TV
       "85.21.138.210 via 10.24.72.1" #Corbina.TV
       "85.21.138.214 via 10.24.72.1" #Corbina.TV
       "195.14.50.93 via 10.24.72.1" #SIP
       "172.27.176.7 via 10.24.72.1" #VPN
       "194.154.82.43 via 10.24.72.1" #DNS1
       "194.154.82.44 via 10.24.72.1" #DNS2
)

config_ppp1=("ppp")
#link_ppp1="eth2"
link_ppp1="pty 'pptp vpn.internet.beeline.ru --nolaunchpppd --nobuffer'"
username_ppp1='*************@internet.beeline.ru'
pppd_ppp1=(
#       "lock"
        "noauth"
        "defaultroute"
        "noipdefault"
        "usepeerdns"
#       "nobsdcomp"
#       "nodeflate"
#       "persist"
#       "maxfail 0"
        "debug"
        "holdoff 10"
        "lcp-echo-interval 30"
        "lcp-echo-failure 8"
)




preup() {
        if [ "${IFACE}" = "ppp1" ]; then
                /sbin/route del default
        fi
}
postup() {
        if [ "${IFACE}" = "ppp1" ]; then
                /sbin/route add default dev ppp1
        fi
}








depend_ppp0() {
        need net.eth1
}
depend_ppp1() {
        need net.eth2
}

вот такой конфиг поднимает мой интернет, однако если preup() и postup() убрать то дефолт не поменяется с eth2 на ppp1 И "defaultroute" и usepeerdns" в наличие!

Попытался настроить как у Вас: изменить таблицу маршрутизции, узнав gateway и dns по nslookup и netstat, затем переделать конфиг как у отписавшегося ниже, что все заработало, но похоже, какой-то шаг пропустил. Поэтому поступил "проще"(в моем понимании):
1. Скачал и запустил скрипт автонастройки vpn для ubuntu, написанный Mr.Peabody для корбины и билайна(естественно, отказался от скачивания дебиановского пакета для pptp): http://help.corbina.ru/internet/install/linux/
2. написал init-скрипт, запускающий pon <имя_соединения> при старте системы и зависящий от запуска сетевой карты:

#!/sbin/runscript
depend() {
        need localmount net.eth0
        after bootmisc hostname net.eth0
        return 0
}
start() {
        ebegin "starting vpn"
        pon vpn
        eend $?
}
stop()
{
        poff
}

3. Добавил его на дефолтный ранлевел: rc-update add vpn default

Автор сообщения "Опубликовано pol01 в 27 Декабрь, 2008 - 15:40." >>
сделал все по твоей инструкции и всё шикарно! Спасибо огромное!

Мой сетевой конфиг /etc/conf.d/net :

config_eth0=( "dhcp" )

config_ppp0=( "ppp" )
link_ppp0="pty 'pptp vpn.internet.beeline.ru --nolaunchpppd'"

username_ppp0='user'
password_ppp0='pass'

pppd_ppp0=(
    lock
    nodeflate
    nobsdcomp
    persist
    defaultroute
    logfile /var/log/pptp-client.log
)

depend_ppp0() {
    need net.eth0
}