настройка VPN туннеля и роутинга

Дома у меня 3 компа при одном VPN-аккаунте. Периодически нужен одновременный выход с них в интет, для этого я решил поднять на gentoo постоянный тоннель + прокси + маскарадинг. Нигде не нашел простого толкового описания создания VPN-тоннеля, поэтому пишу его сам =)

Итак, делов-то всего на несколько минут.

gameserver root # emerge pptpclient
Calculating dependencies ...done!

После этого нужно всего лишь подправить несколько файлов:
/etc/ppp/peers/vpn

name myname

remotename vpn

pty "pptp  192.168.0.2 --nolaunchpppd"
lock
noauth
mtu 1450
mru 1450
lcp-echo-failure 10
nomppe
defaultroute

#persist
#holdoff 30
#maxfail 9000

myname - мой логин
192.168.0.2 - ip vpn-сервера

/etc/ppp/options.pptp

#pty "/usr/sbin/pptp 192.168.0.2 --nolaunchpppd"
#name myname
lock
noauth
nobsdcomp
nodeflate
persist
holdoff 10
connect /bin/true
mtu 1000
mru 1000

/etc/ppp/chap-secrets

# client        server          secret                  IP addresses
myname          vpn             mypass                  *

Теперь можно запустить соединение

gameserver root # pon vpn

Наберите ifconfig, там должно появится соединение pp0

Если появится "no such device" или что-то подобное, выполните
gameserver root # mknod /dev/ppp c 108 0

наберите ROUTE и посмотрите таблицу роутинга. Там должно появится новое соединение; у меня:

82.138.62.114   *               255.255.255.255 UH    0      0        0 ppp0
default         192.168.0.254   0.0.0.0         UG    0      0        0 eth0

Теперь всего лишь нужно подправить роутинг:

gameserver root # route del default
gameserver root # route add default ppp0

после этого:

gameserver root # 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=52 time=19.0 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=2 ttl=52 time=10.2 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=3 ttl=52 time=11.9 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=4 ttl=52 time=7.69 ms
64 bytes from ya.ru (213.180.204.8): icmp_seq=5 ttl=52 time=8.79 ms

вроде всё =)

Ну и для упростим немножко жизнь:
gameserver root # nano /bin/inet

#!/bin/bash
if [[ $1 == "start" ]]
        then
        echo "starting VPN..."
        mknod /dev/ppp c 108 0
        "/usr/sbin/pon" "vpn"
        "route" "del" "default"
        "route" "add" "default" "ppp0"
        exit
fi

if [ $1 == "stop" ]
        then
        echo "stopping vpn..."
        poff vpn
        /etc/init.d/net.eth0 restart
        fi

теперь просто

gameserver root # inet start
gameserver root # inet stop

Надеюсь, кому-нибуть пригодится =)
----------------------------------
dragomiroff.ru
bt.dragomiroff.ru
#linux@irc.dal.net.ru

Зачем так сложно?

все ставится без редактирования и создания своих скриптов запуска
это не тоже самое? http://gentoo.ru/node/421

_________________
Главное не забыть mount /dev/hands

еще раньше я

еще раньше я писал на эту тему http://gentoo.ru/node/122 и это давно в FAQ
_________________
GNU/Wonderland -- GNU/Страна чудес, страна, в которой вы часто бываете, но, в которую, что примечательно, не надо оформлять визу.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".