РРРоЕ и VPN

  • Автор теми ViRT
  • Дата створення

ViRT

куда хочу - туда лечу :)
Re: ASPLinux - forever

На ASP я это реализовывал так:
Код:
[root@virt /]# cat /etc/sysconfig/network-scripts/ifcfg-pptp0
PEERDNS="no"
DEVICE="pptp0"
ONBOOT="no"
USERCTL="yes"
PERSIST="no"
DEBUG="yes"
DEFROUTE="yes"
PPPOPTIONS="require-mppe require-mppe-128" # при необходимости
MRU=""
MTU=""
IDLETIMEOUT=""
VPN_HOST="10.0.0.8"
VPN_USER="username"
ROUTES=""
Пароли, естественно, в pap-secrets или chap-secrets.
Создается/прекращается подключение командами:
Код:
ifup pptp0
ifdown pptp0
 

Andy

Well-Known Member
Re: ASPLinux - forever

Ну вот, все сделал, но всеравно неработает. Вот что пишет:

[root@ut1ab andy]# /sbin/ifup pptp0
using channel 16
Using interface ppp0
Connect: ppp0 <--> /dev/pts/6
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xdc135394> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0xe <accomp> <pcomp> <mru 1500> <magic 0x2ea78a65> <auth chap MS-v2> <mrru 1600> <ssnhf> <endpoint [MAC:00:0e:0c:aa:d0:5c]>]
sent [LCP ConfRej id=0xe <mrru 1600> <ssnhf>]
rcvd [LCP ConfReq id=0xf <accomp> <pcomp> <mru 1500> <magic 0x2ea78a65> <auth chap MS-v2> <mrru 1600> <ssnhf> <endpoint [MAC:00:0e:0c:aa:d0:5c]>]
sent [LCP ConfRej id=0xf <mrru 1600> <ssnhf>]
rcvd [LCP ConfReq id=0x10 <accomp> <pcomp> <mru 1500> <magic 0x2ea78a65> <auth chap MS-v2>]
sent [LCP ConfAck id=0x10 <accomp> <pcomp> <mru 1500> <magic 0x2ea78a65> <auth chap MS-v2>]
rcvd [CHAP Challenge id=0x1 <bb1e68e4af85224b69f771ccc5fc8cf1>, name = ""]
Discarded non-LCP packet when LCP not open
sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xdc135394> <pcomp> <accomp>]
rcvd [LCP ConfReq id=0x11 <accomp> <pcomp> <mru 1500> <magic 0x2ea78a65> <auth chap MS-v2>]
sent [LCP ConfAck id=0x11 <accomp> <pcomp> <mru 1500> <magic 0x2ea78a65> <auth chap MS-v2>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xdc135394> <pcomp> <accomp>]
sent [LCP EchoReq id=0x0 magic=0xdc135394]
rcvd [CHAP Challenge id=0x1 <bb1e68e4af85224b69f771ccc5fc8cf1>, name = ""]
sent [CHAP Response id=0x1 <bcc9b00d395944ebe23a2dbb5ae35611000000000000000055a32084233452b5a867048f3ba625693e7826c6912b3d8500>, name = "ut1ab"]
rcvd [LCP EchoRep id=0x0 magic=0x2ea78a65]
rcvd [CHAP Success id=0x1 "S=3F676E6799C4767A82769E715A791D84D588E9F9"]
sent [CCP ConfReq id=0x1 <mppe -H -M -S -L -D +C> <deflate 15> <deflate(old#) 15>]
sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0>]
rcvd [IPCP ConfReq id=0x5 <addr 10.3.0.8> <compress VJ 0f 00>]
sent [IPCP ConfAck id=0x5 <addr 10.3.0.8> <compress VJ 0f 00>]
rcvd [LCP ProtRej id=0x3 80 fd 01 01 00 12 12 06 00 00 00 01 1a 04 78 00 18 04 78 00]
rcvd [IPCP ConfNak id=0x1 <addr 10.3.144.114>]
sent [IPCP ConfReq id=0x2 <compress VJ 0f 01> <addr 10.3.144.114>]
rcvd [IPCP ConfAck id=0x2 <compress VJ 0f 01> <addr 10.3.144.114>]
local IP address 10.3.144.114
remote IP address 10.3.0.8
[root@ut1ab andy]#
Тоесть вроде бы так и нужно, но ведь ничего не открывается, инет не работает.
 

ViRT

куда хочу - туда лечу :)
Re: ASPLinux - forever

Если маршруты не добавляются автоматом, добавь вручную:
Код:
route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.0.144.254
route add default gw 10.3.0.8
Что показывает после подключения по vpn команда route?
 

Andy

Well-Known Member
Re: ASPLinux - forever

Вот:

[root@ut1ab andy]# /sbin/route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
vpn-gateway.ets * 255.255.255.255 UH 0 0 0 ppp0
10.0.144.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default my-gw.etsplus.n 0.0.0.0 UG 0 0 0 eth0
[root@ut1ab andy]# /sbin/route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.0.144.254
[root@ut1ab andy]# /sbin/route add default gw 10.3.0.8
[root@ut1ab andy]# /sbin/route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
vpn-gateway.ets * 255.255.255.255 UH 0 0 0 ppp0
10.0.144.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
10.0.0.0 my-gw.etsplus.n 255.0.0.0 UG 0 0 0 eth0
default vpn-gateway.ets 0.0.0.0 UG 0 0 0 ppp0
default my-gw.etsplus.n 0.0.0.0 UG 0 0 0 eth0
[root@ut1ab andy]#
Почему нигде не упоминается pptp0 ???
 

ViRT

куда хочу - туда лечу :)
Re: ASPLinux - forever

Я думал это только у меня АСП 2 default route ставит :)
Тогда перегрузись и попробуй после vpn подключения:
Код:
route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.0.144.254
route del default
route add default gw 10.3.0.8
Инет должен появиться и сеть должна работать.
 

Andy

Well-Known Member
Re: ASPLinux - forever

А теперь вопрос, а нельзя ли чтобы эти роутинги автоматом прописывались? :)
 

ViRT

куда хочу - туда лечу :)
Re: ASPLinux - forever

Не долго думая написать 2 скрипта :)
vpnstart:
Код:
ifup pptp0
route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.0.144.254
route del default
route add default gw 10.3.0.8
vpnstop:
Код:
route del default
ifdown pptp0
route add default gw 10.0.144.254
 

Andy

Well-Known Member
Re: ASPLinux - forever

Virt
Создаешь 2 текстовых файла с такими именами и такого содержания как я написал, в папке допустим /usr/bin, /bin - не критично, делаешь их исполняемыми:
chmod +x vpnstart
chmod +x vpnstop
и потом из любого места vpnstart включаешь инет, vpnstop выключаешь.
 

Andy

Well-Known Member
Настройка РРРоЕ​

Настройка​
После запуска (обязательно из под root пользователя!) скрипта конфигурации PPPoE соединения (Команда adsl-setup), необходимо будет ответить на несколько вопросов:

Enter your PPPoE user name (default bxxxnxnx@sympatico.ca):
укажите Ваш логин на подключение (например PEuser)

Enter the Ethernet interface connected to the ADSL modem:
укажите имя сетевого интерфейса, подключенного к ADSL модему или розетке

Enter the demand value:
укажите "yes", если хотите, чтобы соединение подключалось автоматически при запросе. В противном случае укажите "no"

Enter the DNS information here:
укажите IP адрес DNS сервера. В данном случает это 10.0.0.1

Enter the secondary DNS server adress here:
укажите IP адрес второго DNS сервера - 10.0.0.1

Please enter your PPPoE password:
введите Ваш пароль на подключение к сети Интернет

Please re-enter your PPPoE password:
повторно введите Ваш пароль на подключение

Choose a type of firewall:
если Вы опытный пользователь, то решайте сами какой тип фаервола Вам подходит, иначе выберете тип "0"

Accept these settings and adjust configuration files:
перед тем как ответить на этот вопрос положительно, убедитесь что Вы ввели все необходимые параметры правильно. Все Ваши ответы будут выведены Вам на экран в результирующей табличке. Если все верно - нажимайте "Y". В противном случае нажмите "N" и заново пройдите этап конфигурации PPPoE соединения.

Подключение​

Теперь, после установки и настройки PPPoE соединения, Вы можете подключаться к сети Интернет с помощью скрипта adsl-start (работает только из под root пользователя!).

Для разрыва соединения воспользуйтесь командой adsl-stop.

Для просмотра статистики соединения воспользуйтесь командой adsl-status.


Проблема с ASP-11.2​


В АСП-11.2 стоит очень новая версия rp-pppoe. В ней даже команды другие, типа pppoe-setup, а для подключения pppoe-connect!! Но все это почему подключает, но не качает и ничего не открывает. Я решил проблему следующим способом. Удалил родной для АСП-11.2 rp-pppoe, и установил этот пакет из АСП-11 :) Теперь все работает как и раньше, и с привычными командами.

Кто разберется с новым rp-pppoe, плиз отпишитесь в чем там траблы.
 

Andy

Well-Known Member
VPN

VPN в ASP​


А. Крепко-накрепко забываем про всякие там GUI.
Б. Открываем терминал и далее делаем по шагам:

1. Проверим, стои т ли pptp: rpm -q pptp и если видим что нибудь вроде pptp-1.7.1-1.110asp то все в порядке, если нет, то ставим пакет.

2. Редактируем файл /etc/ppp/chap-secrets:
$ sudo gedit /etc/ppp/chap-secrets

# Secrets for authentication using CHAP
# client server secret IP addresses
ACCOUNT * PASSWORD *

Здесь ACCOUNT - мой аккаунт, а PASSWORD - пароль

3. Редактируем файл /etc/ppp/peers/vpn (vpn - это я такое имя туннелю придумал):
$ sudo gedit /etc/ppp/peers/vpn

pty "/usr/sbin/pptp SERVER --nolaunchpppd"
name ACCOUNT
remotename vpn
lock
noauth
defaultroute
nobsdcomp
nodeflate
Здесь ACCOUNT - мой аккаунт, SERVER - IP-адрес pptp-сервера провайдера, vpn - имя туннеля
4. Даем команду:
$ sudo /usr/sbin/pppd call vpn

запускаем еще один терминал и смотрим, что за адрес получил интерфейс ppp0
/sbin/ifconfig -a

5. Редактируем файл /etc/ppp/ip-up:
sudo gedit /etc/ppp/ip-up
в нем перед строчкой, в которй написано "exit 0" пишем
/sbin/route add default gw W.X.Y.Z dev ppp0

Здесь W.X.Y.Z - адрес, который мы подсмотрели в п.4

6. Создаем файл /etc/rc.d/rc.local.local (он будет выполняться в самом конце загрузки, когда уже все службы будут запущены):
$ sudo gedit /etc/rc.d/rc.local.local



В него запишем:
/usr/sbin/pppd call vpn

7. Перезапускаем систему.

Кроме этого незабываем отключить шифрование в файле /etc/ppp/options.pptp

# the PPP project version of PPP by Paul Mackarras
# ppp-2.4.2 or later with MPPE only, kernel module ppp_mppe.o
# {{{
# Require MPPE 128-bit encryption
#require-mppe-128
# }}}

# fork from PPP project by Jan Dubiec
# ppp-2.4.2 or later with MPPE and MPPC, kernel module ppp_mppe_mppc.o
# {{{
# Require MPPE 128-bit encryption
#mppe required,stateless
# }}}
 
Зверху