URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 74594
[ Назад ]

Исходное сообщение
"FreeBSD VPN client (mpd)"

Отправлено vit_ch , 10-Июн-07 17:35 
Не могу поднять впн клиент под FreeBSD 6.0.
Прочитал вот тут  http://www.opennet.me/openforum/vsluhforumID1/61117.html
и тут  http://www.opennet.me/base/net/mpd_bsd_client.txt.html

чего-то  в первой ссылке дают еще эти скритпы io-down.sh , io-up.sh, я их  не создавал. И NETGRAPH не делал.
Кто может дайте мне готовые конфиги, пожалуйста.
Я под freebsd  недавно.
И где можно прочитать что обозначает каждая строка в конфигах.

адрес ВПН сервера - 10.119.16.1 (точно не знаю , поскольку просто когда использывал vpn на windows, то в --состояние vpn --- сведения --- было так:
ip адересс сервера 10.119.16.1 (я его нигде не указывал там)
ip адресс клиента  192.168.100.90 (выдается автоматически постоянно один и тотже)
(адреса 10.119.16.1 и 10.118.128.1 находятся в одной сети, только в разных подсетях,  10.118.128.1 это ip   сервека через который я подключен к сети, и   для которого я и прописывал vpn при подключении, мой ip 10.118.128.38 ) так что точно не знаю адрес ВПН сервера или 10.119.16.1 или 10.118.128.1,последний тот что я указывал в windows.

выделение IP адреса - автоматически

шифрование данных - отключить

вот мои конфиги :
------------------
mpd.conf
------------------
---------------------------------------------------
default:
        load vpn
vpn:
        new -i ng0 vpn vpn
        set iface disable on-demand
        set iface addrs 192.168.1.1 192.168.2.1
        set iface idle 0
# disconnect the client after 8 hours
#       set iface session 28800
#       set iface route 192.168.2.0/24
        set iface route default
        set bundle disable multilink
        set bundle authname "Vitali"
        set bundle password "password"
        set link yes acfcomp protocomp
#       set link no pap
#       set link yes chap
#       set link mtu 1460
# If remote machine is NT you need this..
        set link enable no-orig-auth
        set link keep-alive 10 75
        set ipcp yes vjcomp
        set ipcp ranges 0.0.0.0/0 0.0.0.0/0
#
# The five lines below enable Microsoft Point-to-Point encryption
# (MPPE) using the ng_mppc(8) netgraph node type.
#
        set bundle enable compression
        set ccp yes mppc
        set ccp yes mpp-e40
        set ccp yes mpp-e128
        set bundle enable crypt-reqd
        set ccp yes mpp-stateless
        open
----------------------------------------------------
---------------
mpd.links
---------------
----------------------------------------------------
vpn:
        set link type pptp
        set pptp self 10.118.128.38
        set pptp peer 10.118.128.1
#       set pptp enable originate incoming outcall
        set pptp enable originate
----------------------------------------------------

лог который я получаю:
----------------------------------------------------
10# mpd
Multi-link PPP for FreeBSD, by Archie L. Cobbs.
Based on iij-ppp, by Toshiharu OHNO.
mpd: pid 2314, version 3.18 (root@10.118.128.1 01:10 10-Jun-2007)
[vpn] ppp node is "mpd2314-vpn"
[vpn] using interface ng0
[vpn] IPCP: peer address cannot be zero
[vpn] IFACE: Open event
[vpn] IPCP: Open event
[vpn] IPCP: state change Initial --> Starting
[vpn] IPCP: LayerStart
[vpn:vpn] [vpn] bundle: OPEN event in state CLOSED
[vpn] opening link "vpn"...
[vpn] link: OPEN event
[vpn] LCP: Open event
[vpn] LCP: state change Initial --> Starting
[vpn] LCP: LayerStart
[vpn] device: OPEN event in state DOWN
pptp0: connecting to 10.118.128.1:1723
[vpn] device is now in state OPENING
pptp0: connected to 10.118.128.1:1723
pptp0: attached to connection with 10.118.128.1:1723
pptp0-0: outgoing call connected at 64000 bps
[vpn] PPTP call successful
[vpn] device: UP event in state OPENING
[vpn] device is now in state UP
[vpn] link: UP event
[vpn] link: origination is local
[vpn] LCP: Up event
[vpn] LCP: state change Starting --> Req-Sent
[vpn] LCP: phase shift DEAD --> ESTABLISH
[vpn] LCP: SendConfigReq #1
ACFCOMP
PROTOCOMP
MRU 1500
MAGICNUM 270303a8
[vpn] LCP: rec'd Configure Request #32 link 0 (Req-Sent)
ACFCOMP
PROTOCOMP
MRU 1500
MAGICNUM 5b522fc2
AUTHPROTO CHAP MSOFTv2
MP MRRU 1600
MP SHORTSEQ
ENDPOINTDISC [802.1] 00 11 2f 92 bc ac
[vpn] LCP: SendConfigRej #32
MP MRRU 1600
MP SHORTSEQ
[vpn] LCP: rec'd Configure Ack #1 link 0 (Req-Sent)
ACFCOMP
PROTOCOMP
MRU 1500
MAGICNUM 270303a8
[vpn] LCP: state change Req-Sent --> Ack-Rcvd
[vpn] LCP: rec'd Configure Request #33 link 0 (Ack-Rcvd)
ACFCOMP
PROTOCOMP
MRU 1500
MAGICNUM 5b522fc2
AUTHPROTO CHAP MSOFTv2
[vpn] LCP: SendConfigAck #33
ACFCOMP
PROTOCOMP
MRU 1500
MAGICNUM 5b522fc2
AUTHPROTO CHAP MSOFTv2
[vpn] LCP: state change Ack-Rcvd --> Opened
[vpn] LCP: phase shift ESTABLISH --> AUTHENTICATE
[vpn] LCP: auth: peer wants CHAP, I want nothing
[vpn] LCP: LayerUp
[vpn] CHAP: rec'd CHALLENGE #1
Name: ""
Using authname "Vitali"
[vpn] CHAP: sending RESPONSE
[vpn] CHAP: rec'd SUCCESS #1
MESG: S=FF334E518CCF0109F8B269E983C38E9809D71ED4
[vpn] LCP: authorization successful
[vpn] LCP: phase shift AUTHENTICATE --> NETWORK
[vpn] setting interface ng0 MTU to 1500 bytes
[vpn] up: 1 link, total bandwidth 64000 bps
[vpn] IPCP: Up event
[vpn] IPCP: state change Starting --> Req-Sent
[vpn] IPCP: SendConfigReq #1
IPADDR 0.0.0.0
COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
[vpn] CCP: Open event
[vpn] CCP: state change Initial --> Starting
[vpn] CCP: LayerStart
[vpn] CCP: Up event
[vpn] CCP: state change Starting --> Req-Sent
[vpn] CCP: SendConfigReq #1
[vpn] CCP: Checking whether 40 bits are enabled -> yes
[vpn] CCP: Checking whether 56 bits are enabled -> no
[vpn] CCP: Checking whether 128 bits are enabled -> yes
MPPC
0x01000060: MPPE, 40 bit, 128 bit, stateless
[vpn] IPCP: rec'd Configure Request #98 link 0 (Req-Sent)
IPADDR 10.119.16.1
10.119.16.1 is OK
COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
[vpn] IPCP: SendConfigAck #98
IPADDR 10.119.16.1
COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
[vpn] IPCP: state change Req-Sent --> Ack-Sent
[vpn] IPCP: rec'd Configure Nak #1 link 0 (Ack-Sent)
IPADDR 192.168.100.90
192.168.100.90 is OK
[vpn] IPCP: SendConfigReq #2
IPADDR 192.168.100.90
COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
[vpn] LCP: rec'd Protocol Reject #51 link 0 (Opened)
[vpn] LCP: protocol CCP was rejected
[vpn] CCP: protocol was rejected by peer
[vpn] CCP: Close event
[vpn] CCP: state change Req-Sent --> Closing
[vpn] CCP: SendTerminateReq #2
[vpn] CCP: encryption required, but MPPE was not negotiated in both directions
[vpn] CCP: failed to negotiate required encryption
[vpn] CCP: Close event
[vpn] CCP: state change Closing --> Closed
[vpn] CCP: LayerFinish
[vpn] IPCP: failed to negotiate required encryption
[vpn] IPCP: state change Ack-Sent --> Stopped
[vpn] IPCP: LayerFinish
[vpn] CCP: LayerFinish
[vpn] bundle: CLOSE event in state OPENED
[vpn] closing link "vpn"...
[vpn] IPCP: rec'd Configure Ack #2 link 0 (Stopped)
IPADDR 192.168.100.90
COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
[vpn] IPCP: SendTerminateAck #3
[vpn] link: CLOSE event
[vpn] LCP: Close event
[vpn] LCP: state change Opened --> Closing
[vpn] LCP: phase shift NETWORK --> TERMINATE
[vpn] setting interface ng0 MTU to 1500 bytes
[vpn] up: 0 links, total bandwidth 9600 bps
[vpn] IPCP: Down event
[vpn] IPCP: state change Stopped --> Starting
[vpn] IPCP: LayerStart
[vpn] CCP: Down event
[vpn] CCP: state change Closed --> Initial
[vpn] CCP: Close event
[vpn] closing link "vpn"...
[vpn] LCP: SendTerminateReq #2
[vpn] LCP: LayerDown
[vpn] bundle: OPEN event in state CLOSED
[vpn] opening link "vpn"...
[vpn] link: CLOSE event
[vpn] LCP: Close event
[vpn] LCP: rec'd Protocol Reject #52 link 0 (Closing)
[vpn] LCP: protocol CCP was rejected
[vpn] link: OPEN event
[vpn] LCP: Open event
[vpn] LCP: state change Closing --> Stopping
[vpn] rec'd proto IPCP during terminate phase
[vpn] LCP: rec'd Terminate Ack #34 link 0 (Stopping)
[vpn] LCP: state change Stopping --> Stopped
[vpn] LCP: phase shift TERMINATE --> ESTABLISH
[vpn] LCP: LayerFinish
[vpn] device: CLOSE event in state UP
pptp0-0: clearing call
[vpn] device is now in state CLOSING
[vpn] device: DOWN event in state CLOSING
[vpn] device is now in state DOWN
[vpn] link: DOWN event
[vpn] LCP: Down event
[vpn] LCP: state change Stopped --> Starting
[vpn] LCP: phase shift ESTABLISH --> DEAD
[vpn] LCP: LayerStart
[vpn] device: OPEN event in state DOWN
[vpn] pausing 9 seconds before open
[vpn] device is now in state DOWN
[vpn] device: OPEN event in state DOWN
[vpn] device is now in state DOWN
pptp0: got StopCtrlConnRequest: reason=local shutdown
pptp0: killing connection with 10.118.128.1:1723
pptp0-0: killing channel
^Cmpd: caught fatal signal int
mpd: fatal error, exiting
[vpn] IPCP: Down event
[vpn] IFACE: Close event
[vpn] IPCP: Close event
[vpn] IPCP: state change Starting --> Initial
[vpn] IPCP: LayerFinish
mpd: process 2314 terminated
10#
-----------------------------------------------------


Содержание

Сообщения в этом обсуждении
"FreeBSD VPN client (mpd)"
Отправлено vit_ch , 16-Июн-07 11:31 
Горя желанием поднять vpn я его все таки поднял, благодаря  вот этой статьям на форуме http://forums.pcbsd.org/0/4734/?sid=8141692df05fbd664ee59981...
http://www.opennet.me/openforum/vsluhforumID1/61117.html
http://www.opennet.me/base/net/mpd_bsd_client.txt.html
Теперь решил все таки описать как удалось его поднять у меня, для тех кто как и я только перешел на FreeBSD.

Так вот. Все это я проделал на VMware(для которой я взял у админа сети себе еще один локальный ip(10.118.128.38), чтобы она была у меня полноценной машиной, и все могли ее видеть в сети, как одтельный хост.

Когда вы на Windows подключались к vpn, то в моем случае и у многих других пользователей, ip(для выхода в и-нет) выдается автоматически, если и нет то не проблема.
Для FreeBSD нужно знать адрес шлюза(10.118.128.1 у меня), и адресс vpn сервера(10.119.16.1 у меня)

Смотрите тут: в -- состояние интернет ---> сведения----> ip-адрес сервера (в моем случае 10.119.16.1)

Адрес шлюза - это адрес через который я выхожу в локальную сеть, тоесть моего сервака. (В моем случае это 10.118.128.1)

я конфигурирую вот так :
---------------------------------------------------------------------------------
mpd.conf
----------------------------------------------------------------------------------
10# more mpd.conf
default:
load vpn

vpn:
new -i ng0 vpn vpn
set iface disable on-demand
set iface idle 0
set iface up-script /usr/local/etc/mpd/io-up.sh
set iface down-script /usr/local/etc/mpd/io-down.sh
set iface route default
set bundle disable multilink
set bundle authname Vitali
set bundle password my_passv
set link yes acfcomp protocomp
set link disable chap pap
set link accept chap pap
set link enable no-orig-auth
set link keep-alive 10 75
set link mtu 1492
set ipcp yes vjcomp
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
set ccp yes mpp-stateless
open
-----------------------------------------------------------------------------------
mpd.links
------------------------------------------------------------------------------------

vpn:
set link type pptp
set pptp peer 10.119.16.1
set pptp enable originate outcall
-------------------------------------------------------------------------------------
io-up.sh
------------------------------------------------------------------------------------

#!/bin/sh
vpn_ip=10.119.16.1
ip_def_gw=10.118.128.1
/sbin/route delete $vpn_ip
/sbin/route add $vpn_ip $ip_def_gw
/sbin/route delete default
/sbin/route add default -interface ng0
-------------------------------------------------------------------------------------
io-down.sh
------------------------------------------------------------------------------------#!/bin/sh
vpn_ip=10.119.16.1
ip_def_gw=10.118.128.1
/sbin/route delete default
/sbin/route add default $ip_def_gw
/sbin/route delete $vpn_ip
------------------------------------------------------------------------------------

в итоге у нас:
#ifconfig
------------------------------------------------------------------------------------
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1492
inet 192.168.100.90 --> 10.119.16.1 netmask 0xffffffff
inet6 fe80::20c:29ff:fe90:7622%ng0 prefixlen 64 scopeid 0x4
------------------------------------------------------------------------------------
далее до соединения было:
netstat -rn
------------------------------------------------------------------------------
Internet:
Destination Gateway Flags Refs Use Netif
default 10.118.128.1 UGS 0 7 lnc0
10.118.128/24 link#1 UC 0 0 lnc0
10.118.128.1 00:80:48:1f:77:a3 UHLW 2 0
10.118.128.30 00:50:fc:f7:10:22 UHLW 2 1815
127.0.0.1 127.0.0.1 UH 0 3 lo0
---------------------------------------------------------------------------------

и после соединения
-------------------------------------------------------------------------------------
10# netstat -rn
Routing tables

Internet:
Destination Gateway Flags Refs Use Netif Expire
default ng0 US 0 0 ng0
10.118.128/24 link#1 UC 0 0 lnc0
10.118.128.1 00:80:48:1f:77:a3 UHLW 2 0 lnc0 1199
10.118.128.30 00:50:fc:f7:10:22 UHLW 1 1752 lnc0 1152
10.119.16.1 10.118.128.1 UGHS 0 5 lnc0
127.0.0.1 127.0.0.1 UH 0 3 lo0
192.168.100.90 lo0 UHS 0 0 lo0
------------------------------------------------------------------------------------

вот и все.
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
Теперь-то и-нет работает, но у меня что бы зайти на сайт или просто пинговать международный адресс то нужно писать адресс цыфрами .

(тот же ya.ru надо написать так 87.250.251.8),

и второе не работают локальные ресурсы, тоесть сайты которые в сети.

Есть ли в FreeBSD(а я знаю есть) команда типа как в Windows:

route add -p 10.X.X.X mask 255.X.X.X 10.A.B.C.D что бы сеть и и-нет работали вместе, и как это сделать что бы это сделать только раз
(при каждом включении mpd этого не делать)?

как настроить dns что бы не вводить цыфрами.


"FreeBSD VPN client (mpd)"
Отправлено Dutchman , 09-Июл-07 14:46 
>Есть ли в FreeBSD(а я знаю есть) команда типа как в Windows:
>
>
>route add -p 10.X.X.X mask 255.X.X.X 10.A.B.C.D что бы сеть и и-нет
>работали вместе, и как это сделать что бы это сделать только
>раз
>(при каждом включении mpd этого не делать)?
>
>как настроить dns что бы не вводить цыфрами.

resolv поищи в /etc... - будет dns
чтобы работало все остальное...
route add <направление> <через что> (можно интерфейс)
или route change если направление есть...
т.е. route change 0.0.0.0 (равносильно default т.е. на которого нет правила) ng0 (по умолчанию пускаем через vpn)
route add 192.168.0.1/32 rl0 - пускаем подсеть через интерфейс ланки
route add a.b.c.d 192.168.0.1 - пускаем ресурсы, доступные по работе, через шлюз на работе.

P.S. Спасибо, постом помог сильно. Надеюсь тоже помогу :)


"FreeBSD VPN client (mpd)"
Отправлено vit_ch , 09-Июл-07 17:33 
>>Есть ли в FreeBSD(а я знаю есть) команда типа как в Windows:
>>
>>
>>route add -p 10.X.X.X mask 255.X.X.X 10.A.B.C.D что бы сеть и и-нет
>>работали вместе, и как это сделать что бы это сделать только
>>раз
>>(при каждом включении mpd этого не делать)?
>>
>>как настроить dns что бы не вводить цыфрами.
>
>resolv поищи в /etc... - будет dns
>чтобы работало все остальное...
>route add <направление> <через что> (можно интерфейс)
>или route change если направление есть...
>т.е. route change 0.0.0.0 (равносильно default т.е. на которого нет правила) ng0
>(по умолчанию пускаем через vpn)
>route add 192.168.0.1/32 rl0 - пускаем подсеть через интерфейс ланки
>route add a.b.c.d 192.168.0.1 - пускаем ресурсы, доступные по работе, через шлюз
>на работе.
>
>P.S. Спасибо, постом помог сильно. Надеюсь тоже помогу :)

я уже  благополучно  все сделал вот так:

Для того что бы вместе работала сеть  и и-нет вместе то делать так:

# route add 10.0.0.0/8 10.xxx.yyy.zzz


в /etc/rc.conf


static_routes="vpn"
route_vpn="10.0.0.0/8 10.xxx.yyy.zzz"


нужно закоментировать defaultrouter в /etc/rc.conf

удалить стандартный шлюз

вот и усё :)  кстати для pptpclient все это в четыре строчки занимает(я и через него уже тоже пробывал), но меня и  mpd  устраивает.



"FreeBSD VPN client (mpd)"
Отправлено Alex , 22-Фев-08 11:05 
Здравствуйте подскажите пожалуйста что именно мне прописать в rc.conf как роутит в сторону локалки
static_routes="vpn"
route_vpn="10.0.0.0/8 10.xxx.yyy.zzz" вместо 10.xxx.yyy.zzz какой ip прописать чтоб на локальных инет появилься.
Заранее благодарю

"FreeBSD VPN client (mpd)"
Отправлено vit_ch , 22-Фев-08 13:35 
>Здравствуйте подскажите пожалуйста что именно мне прописать в rc.conf как роутит в
>сторону локалки
>static_routes="vpn"
>route_vpn="10.0.0.0/8 10.xxx.yyy.zzz" вместо 10.xxx.yyy.zzz какой ip прописать чтоб на локальных инет появилься.
>
>Заранее благодарю

ну вообще-то в данном случае  10.xxx.yyy.zzz - адресс локального шлюза .

а если хочешь раздавать интернет то у меня это реализовано с помощь правил фаервола
.....
$cmd 00050  divert natd ip4 from any to any  via vr0 # через внешний интерфес
......
напиши по-подробней...


"FreeBSD VPN client (mpd)"
Отправлено Alex , 22-Фев-08 17:44 
Пишу подробно .. после долгих мучений я наконей-то нашел с ваших указаний как правильно настроить впн_клиент под фрюхой.Короче я смог конектиться до впн-сервера и получить определный айпи вот:

ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> mtu 1500
        inet 217.11.181.60 --> 195.140.128.35 netmask 0xffffffff
        inet6 fe80::2e0:4cff:fe03:2ff4%ng0 prefixlen 64 scopeid 0x6
как видите я получил 217.11.181.60 а 195.140.128.35 это адрес впн-сервера.
так как у меня две сетевухи одна которая смотрить на мир а другой в локальку 192.168.0.1
в rc.conf- у меня вроде нат поднять и ядро с обьязательными опциями скомпилирован :

gateway_enable="YES"
firewall_enable="YES"
firewall_type="OPEN"
firewall_script="/etc/rc.firewall"
natd_enable="YES"
natd_interface="rl1"
mpd_enable="YES"

как мне правильно прописать в rc.firewall-е или можеть в rc.conf какой-нибудь роут прописать.. чтоб и на локалке тоже был инет( на сервере уже есть интернет, надо поделиться с остальными)
благодарю заранее!


"FreeBSD VPN client (mpd)"
Отправлено vit_ch , 22-Фев-08 19:54 
:) Понял

Я когда-то сам парился с подобным, сам состою в одной локалке , потом еще под натом держу небольшую локалку, для друзей, так вот у меня была проблема как закрыть инет от тех кто у меня под натом ))
тоесть сам я из локалки 10/8(провайдерская) && 192.168.1/24,  те что в первой получают инет посредством того что у меня поднят vpn-serv(mpd), а те что  внутри получали бы на халяву ну я сделал правило:
--
...
$cmd 00060  deny ip from 192.168.1.0/24 to any via ng0
...
---

так вот есть у меня в /etc/rc.conf
-------

script_enable="YES"
-------------------------

[root@securitu] [18:48] / # less /usr/local/etc/rc.d/script.sh
-----------------------------------
#!/bin/sh
/usr/local/sbin/mpd4 -b
sleep 10
/sbin/ipfw delete 300
/sbin/ipfw add 300 divert 8669 ip from any to any via ng0
/sbin/natd -f /etc/natd.conf
-------------------------------
[root@securitu] [18:50] / # vim /etc/natd.conf
------------------------
log yes
use_sockets yes
same_ports yes
unregistered_only yes
interface ng0
dynamic yes
port 8669
redirect_port tcp 192.168.222.1:3389 3389 ( это типа ip vpn-servera)
pid_file /var/run/natd2.pid
---------------------------------


потом еще разок покажу свой rc.conf
---------------------------------------------------
ifconfig_vr0="inet 10.x.x.x  netmask 255.255.254.0" #внешний
fconfig_vr0_alias0="ether 00:ff:d0:1e:20:30" #ну это у меня проблемки с маком , поменял сетевуху леньки прову звонить
ifconfig_rl0="inet 192.168.1.1  netmask 255.255.254.0"# внутрь (для nat)

static_routes="vpn"
route_vpn="10.x/8 10.x" ( в логалку через что )

natd_enable="YES"
natd_interface="vr0"    
natd_flafs=""
#natd_flags="-config /etc/natd.conf"
gateway_enable="YES"

----------------------------------------------------

вообще погугли мое строки, найдешь! ))))

я когда-то тут читал про natd2 все так геморно,а ведь легко реализуеться с помощью NAT && (ipfw ||pf)


"FreeBSD VPN client (mpd)"
Отправлено Alex , 23-Фев-08 07:40 
Огромное спасибо всё отлично заработало..!


"FreeBSD VPN client (mpd)"
Отправлено Alex , 23-Фев-08 08:08 
Огромное спасибо ...отлично всё заработало.
Желаю тебе удачи во всём!