VPN сервер с использованием pptpd

привет. имею в квартире сервер с Gentoo 2.6.23.1 и парочку машин с виндами. решил тут настроить на сервере pptpd, чтобы с локалки был полный доступ в мою домашнюю сеть. Возникло несколько вопросов.

1) Почему то, когда к серверу подключается клиент, после создания интерфеса, default route идёт именно на него, хотя я в настройках options.pptpd ставлю опцию nodefaulroute. Как сделать, чтобы дефолт роут оставался старый?

вот мои настройки:

forger_server log # cat /etc/pptpd.conf | grep -v '#'
option /etc/ppp/options.pptpd
debug
logwtmp
localip 192.168.100.1
remoteip 192.168.100.10-254
forger_server log # cat /etc/ppp/options.pptpd | grep -v '#'
name forger_server
refuse-eap
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
mppe required,stateless
ms-dns 192.168.100.1
ms-dns 192.168.100.1
ms-wins 192.168.100.1
ms-wins 192.168.100.1
debug
dump
lock
nobsdcomp
novj
novjccomp
nologfd
mppc
mtu 1250
mru 1250
nodeflate
nodefaultroute
lcp-echo-interval 10
lcp-echo-failure 6

Это до подключения клиента:

forger_server log # ifconfig
eth0      Link encap:Ethernet  HWaddr 00:E0:4C:A1:85:60
          inet addr:10.13.8.0  Bcast:10.13.15.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:165451219 errors:0 dropped:0 overruns:0 frame:0
          TX packets:157568409 errors:0 dropped:0 overruns:1 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1389540404 (1325.1 Mb)  TX bytes:2878923123 (2745.5 Mb)
          Interrupt:17 Base address:0xe000

eth1      Link encap:Ethernet  HWaddr 00:14:85:59:CC:C9
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:123047765 errors:0 dropped:0 overruns:0 frame:0
          TX packets:110747314 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1852975815 (1767.1 Mb)  TX bytes:4161334533 (3968.5 Mb)
          Interrupt:18 Base address:0x2000

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:3934424 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3934424 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:411185422 (392.1 Mb)  TX bytes:411185422 (392.1 Mb)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:10.222.254.18  P-t-P:192.168.250.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1250  Metric:1
          RX packets:1902587 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3321999 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:157568057 (150.2 Mb)  TX bytes:3851260532 (3672.8 Mb)
forger_server log # route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
83.102.249.178  10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
85.21.72.83     10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
195.14.50.1     10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
192.168.250.2   0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
195.14.50.21    10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
89.179.135.66   10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
195.14.50.26    10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
89.179.135.67   10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
83.102.248.1    10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
85.21.208.254   10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
195.14.50.93    10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
10.13.0.0       0.0.0.0         255.255.240.0   U     0      0        0 eth0
10.0.0.0        10.13.0.1       255.0.0.0       UG    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         0.0.0.0         0.0.0.0         U     0      0        0 ppp0

Это после подключения клиента:

forger_server log # ifconfig
eth0      Link encap:Ethernet  HWaddr 00:E0:4C:A1:85:60
          inet addr:10.13.8.0  Bcast:10.13.15.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:165452545 errors:0 dropped:0 overruns:0 frame:0
          TX packets:157568471 errors:0 dropped:0 overruns:1 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1389659408 (1325.2 Mb)  TX bytes:2878928430 (2745.5 Mb)
          Interrupt:17 Base address:0xe000

eth1      Link encap:Ethernet  HWaddr 00:14:85:59:CC:C9
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:123047899 errors:0 dropped:0 overruns:0 frame:0
          TX packets:110747467 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1852987315 (1767.1 Mb)  TX bytes:4161361418 (3968.5 Mb)
          Interrupt:18 Base address:0x2000

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:3934441 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3934441 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:411187062 (392.1 Mb)  TX bytes:411187062 (392.1 Mb)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:10.222.254.18  P-t-P:192.168.250.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1250  Metric:1
          RX packets:1902603 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3322016 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:157570365 (150.2 Mb)  TX bytes:3851261392 (3672.8 Mb)

ppp1      Link encap:Point-to-Point Protocol
          inet addr:192.168.100.1  P-t-P:192.168.100.10  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1250  Metric:1
          RX packets:15 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:1371 (1.3 Kb)  TX bytes:122 (122.0 b)
forger_server log # route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
83.102.249.178  10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
85.21.72.83     10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
195.14.50.1     10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
192.168.250.2   0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
195.14.50.21    10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
89.179.135.66   10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
195.14.50.26    10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
89.179.135.67   10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
192.168.100.10  0.0.0.0         255.255.255.255 UH    0      0        0 ppp1
83.102.248.1    10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
85.21.208.254   10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
195.14.50.93    10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
10.13.0.0       0.0.0.0         255.255.240.0   U     0      0        0 eth0
10.0.0.0        10.13.0.1       255.0.0.0       UG    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         0.0.0.0         0.0.0.0         U     0      0        0 ppp1
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0

Это логи подключения (пока тестирую коннекчусь с домашней локалки, с одного из компов):

Mar  8 13:04:09 forger_server pptpd[3083]: MGR: Launching /usr/sbin/pptpctrl to handle client
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: local address = 192.168.100.1
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: remote address = 192.168.100.10
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: pppd options file = /etc/ppp/options.pptpd
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: Client 192.168.0.3 control connection started
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: Received PPTP Control Message (type: 1)
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: Made a START CTRL CONN RPLY packet
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: I wrote 156 bytes to the client.
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: Sent packet to client
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: Received PPTP Control Message (type: 7)
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: Set parameters to 100000000 maxbps, 64 window size
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: Made a OUT CALL RPLY packet
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: Starting call (launching pppd, opening GRE)
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: pty_fd = 9
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: tty_fd = 10
Mar  8 13:04:09 forger_server pptpd[3084]: CTRL (PPPD Launcher): program binary = /usr/sbin/pppd
Mar  8 13:04:09 forger_server pptpd[3084]: CTRL (PPPD Launcher): local address = 192.168.100.1
Mar  8 13:04:09 forger_server pptpd[3084]: CTRL (PPPD Launcher): remote address = 192.168.100.10
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: I wrote 32 bytes to the client.
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: Sent packet to client
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: Received PPTP Control Message (type: 15)
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: Got a SET LINK INFO packet with standard ACCMs
Mar  8 13:04:09 forger_server pppd[3084]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
Mar  8 13:04:09 forger_server pppd[3084]: pptpd-logwtmp: $Version$
Mar  8 13:04:09 forger_server pppd[3084]: pppd options in effect:
Mar  8 13:04:09 forger_server pppd[3084]: debug         # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: nologfd               # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: dump          # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: plugin /usr/lib/pptpd/pptpd-logwtmp.so                # (from command line)
Mar  8 13:04:09 forger_server pppd[3084]: require-mschap-v2             # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: refuse-pap            # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: refuse-chap           # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: refuse-mschap         # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: refuse-eap            # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: name forger_server            # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: pptpd-original-ip 192.168.0.3         # (from command line)
Mar  8 13:04:09 forger_server pppd[3084]: 115200                # (from command line)
Mar  8 13:04:09 forger_server pppd[3084]: lock          # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: local         # (from command line)
Mar  8 13:04:09 forger_server pppd[3084]: mru 1250              # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: mtu 1250              # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: lcp-echo-failure 6            # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: lcp-echo-interval 10          # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: novj          # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: novjccomp             # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: ipparam 192.168.0.3           # (from command line)
Mar  8 13:04:09 forger_server pppd[3084]: ms-dns xxx # [don't know how to print value]          # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: ms-wins xxx # [don't know how to print value]         # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: nodefaultroute                # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: 192.168.100.1:192.168.100.10          # (from command line)
Mar  8 13:04:09 forger_server pppd[3084]: nobsdcomp             # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: nodeflate             # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: mppc          # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: mppe xxx # [don't know how to print value]            # (from /etc/ppp/options.pptpd)
Mar  8 13:04:09 forger_server pppd[3084]: pppd 2.4.4 started by root, uid 0
Mar  8 13:04:09 forger_server pppd[3084]: using channel 613
Mar  8 13:04:09 forger_server pppd[3084]: Using interface ppp1
Mar  8 13:04:09 forger_server pppd[3084]: Connect: ppp1 <--> /dev/pts/15
Mar  8 13:04:09 forger_server pppd[3084]: sent [LCP ConfReq id=0x1 <mru 1250> <asyncmap 0x0> <auth chap MS-v2> <magic 0x1bba555a> <pcomp> <accomp>]
Mar  8 13:04:09 forger_server pppd[3084]: rcvd [LCP ConfReq id=0x0 <mru 1400> <magic 0x25301121> <pcomp> <accomp> <callback CBCP>]
Mar  8 13:04:09 forger_server pppd[3084]: sent [LCP ConfRej id=0x0 <callback CBCP>]
Mar  8 13:04:09 forger_server pppd[3084]: rcvd [LCP ConfAck id=0x1 <mru 1250> <asyncmap 0x0> <auth chap MS-v2> <magic 0x1bba555a> <pcomp> <accomp>]
Mar  8 13:04:09 forger_server pppd[3084]: rcvd [LCP ConfReq id=0x1 <mru 1400> <magic 0x25301121> <pcomp> <accomp>]
Mar  8 13:04:09 forger_server pppd[3084]: sent [LCP ConfAck id=0x1 <mru 1400> <magic 0x25301121> <pcomp> <accomp>]
Mar  8 13:04:09 forger_server pppd[3084]: sent [LCP EchoReq id=0x0 magic=0x1bba555a]
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: Received PPTP Control Message (type: 15)
Mar  8 13:04:09 forger_server pptpd[3083]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!
Mar  8 13:04:09 forger_server pppd[3084]: sent [CHAP Challenge id=0x3a <4dce994741e91649f06b4fd1fbc49753>, name = "forger_server"]
Mar  8 13:04:09 forger_server pppd[3084]: rcvd [LCP Ident id=0x2 magic=0x25301121 "MSRASV5.10"]
Mar  8 13:04:09 forger_server pppd[3084]: rcvd [LCP Ident id=0x3 magic=0x25301121 "MSRAS-1-FORGER"]
Mar  8 13:04:09 forger_server pppd[3084]: rcvd [LCP EchoRep id=0x0 magic=0x25301121]
Mar  8 13:04:09 forger_server pppd[3084]: rcvd [CHAP Response id=0x3a <4023e32c3f671dcc5bc2ddef7bc53f35000000000000000072ad3fe5fa0f5d91e1ab7d35629f2cc0c48fe6acc00af29100>, name = "forger"]
Mar  8 13:04:09 forger_server pppd[3084]: sent [CHAP Success id=0x3a "S=7368DE95A597230B5A7952761B6BFB29D993CBAF M=Access granted"]
Mar  8 13:04:09 forger_server pppd[3084]: sent [CCP ConfReq id=0x1 <mppe +H +M +S +L -D -C>]
Mar  8 13:04:09 forger_server pppd[3084]: rcvd [CCP ConfReq id=0x4 <mppe +H +M +S +L -D +C>]
Mar  8 13:04:09 forger_server pppd[3084]: sent [CCP ConfNak id=0x4 <mppe +H -M +S -L -D -C>]
Mar  8 13:04:09 forger_server pppd[3084]: rcvd [IPCP ConfReq id=0x5 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-wins 0.0.0.0> <ms-dns3 0.0.0.0> <ms-wins 0.0.0.0>]
Mar  8 13:04:09 forger_server pppd[3084]: sent [IPCP TermAck id=0x5]
Mar  8 13:04:09 forger_server pppd[3084]: rcvd [CCP ConfNak id=0x1 <mppe +H -M +S -L -D -C>]
Mar  8 13:04:09 forger_server pppd[3084]: sent [CCP ConfReq id=0x2 <mppe +H -M +S -L -D -C>]
Mar  8 13:04:09 forger_server pppd[3084]: rcvd [CCP ConfReq id=0x6 <mppe +H -M +S -L -D -C>]
Mar  8 13:04:09 forger_server pppd[3084]: sent [CCP ConfAck id=0x6 <mppe +H -M +S -L -D -C>]
Mar  8 13:04:09 forger_server pppd[3084]: rcvd [CCP ConfAck id=0x2 <mppe +H -M +S -L -D -C>]
Mar  8 13:04:09 forger_server pppd[3084]: MPPE 128-bit stateless compression enabled
Mar  8 13:04:09 forger_server pppd[3084]: sent [IPCP ConfReq id=0x1 <addr 192.168.100.1>]
Mar  8 13:04:09 forger_server pppd[3084]: rcvd [IPCP ConfAck id=0x1 <addr 192.168.100.1>]
Mar  8 13:04:11 forger_server pppd[3084]: rcvd [IPCP ConfReq id=0x7 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-wins 0.0.0.0> <ms-dns3 0.0.0.0> <ms-wins 0.0.0.0>]
Mar  8 13:04:11 forger_server pppd[3084]: sent [IPCP ConfNak id=0x7 <addr 192.168.100.10> <ms-dns1 192.168.100.1> <ms-wins 192.168.100.1> <ms-dns3 192.168.100.1> <ms-wins 192.168.100.1>]
Mar  8 13:04:11 forger_server pppd[3084]: rcvd [IPCP ConfReq id=0x8 <addr 192.168.100.10> <ms-dns1 192.168.100.1> <ms-wins 192.168.100.1> <ms-dns3 192.168.100.1> <ms-wins 192.168.100.1>]
Mar  8 13:04:11 forger_server pppd[3084]: sent [IPCP ConfAck id=0x8 <addr 192.168.100.10> <ms-dns1 192.168.100.1> <ms-wins 192.168.100.1> <ms-dns3 192.168.100.1> <ms-wins 192.168.100.1>]
Mar  8 13:04:11 forger_server pppd[3084]: local  IP address 192.168.100.1
Mar  8 13:04:11 forger_server pppd[3084]: remote IP address 192.168.100.10
Mar  8 13:04:11 forger_server pppd[3084]: pptpd-logwtmp.so ip-up ppp1 forger 192.168.0.3
Mar  8 13:04:11 forger_server pppd[3084]: Script /etc/ppp/ip-up started (pid 3087)
Mar  8 13:04:11 forger_server pppd[3084]: Script /etc/ppp/ip-up finished (pid 3087), status = 0x0

2) Есть такая опция для pppd как unit n, для того, чтобы номер интерфейсу назначать... Так вот, можно ли как нибудь сделать так, чтобы этот параметр n менялся... например чтобы он равнялся последнему октету выдаваемого клиенту айпишника?

По первому

По первому вопросу:

В /etc/conf.d/net пропишите параметр "routes_ppp0", а в нем пропишете все нужные Вам маршруты. Синтаксис и примеры ищите в /etc/conf.d/net.example

------------------------------
Не надо распечатывать эту страницу!
Включай экологическое мышление!

в том и дело,

в том и дело, что в /etc/conf.d/net у меня прописаны только физические интерфейсы:

config_eth0=( "10.13.8.0 netmask 255.255.240.0" )
routes_eth0=( "10.0.0.0 netmask 255.0.0.0 via 10.13.0.1"
              "85.21.208.254 netmask 255.255.255.255 via 10.13.0.1"
              "83.102.248.1 netmask 255.255.255.255 via 10.13.0.1"
              "195.14.50.21 netmask 255.255.255.255 via 10.13.0.1"
              "195.14.50.1 netmask 255.255.255.255 via 10.13.0.1"
              "83.102.249.178 netmask 255.255.255.255 via 10.13.0.1"
              "195.14.50.26 netmask 255.255.255.255 via 10.13.0.1"
              "85.21.72.83 netmask 255.255.255.255 via 10.13.0.1"
              "195.14.50.93 netmask 255.255.255.255 via 10.13.0.1"
              "89.179.135.67 netmask 255.255.255.255 via 10.13.0.1"
              "89.179.135.66 netmask 255.255.255.255 via 10.13.0.1"
            )

config_eth1=( "192.168.0.1 netmask 255.255.255.0" )

не вижу смысла (или не понимаю его :) )создавать скрипты инициализации для виртуальный vpn туннелей. мне по сути от него никаких маршрутов то и не нужно. наоборот, он создаёт паразитный маршрут default route на себя. а мне надо только, чтобы он с клиентом общался через этот интерфейс.

Рекомендую

Рекомендую читать /etc/conf.d/net.example до просветления.

ну я как бы

ну я как бы читать умею. когда сервер только настраивал, естественно знакомился с данным примером... если есть какие то ошибки в моих текущих настройках, не могли бы на них указать, а не просто посылать читать примеры? был бы оч признателен :)
да и не могли бы поподробнее объяснить всё-таки по проблеме с дефолт маршрутом на впн туннель?

По второму

По второму вопросу:

Если я Вас понял верно, то нельзя, т.к. интерфейс поднимается до того, как выдается ip адрес клиенту.

------------------------------
Не надо распечатывать эту страницу!
Включай экологическое мышление!

хмм... а как

хмм... а как интерфейс может подняться до того, как клиенту выдастся ip адрес? ему же нужно знать адреса локальной точки (ну это адрес сервера, в данном случае 192.168.100.1) и удалённой точки (как раз адрес клиента, в данном примере 192.168.100.10). да и судя по логам так и есть...

Mar 8 13:04:11 forger_server pppd[3084]: local IP address 192.168.100.1
Mar 8 13:04:11 forger_server pppd[3084]: remote IP address 192.168.100.10
Mar 8 13:04:11 forger_server pppd[3084]: pptpd-logwtmp.so ip-up ppp1 forger 192.168.0.3
Mar 8 13:04:11 forger_server pppd[3084]: Script /etc/ppp/ip-up started (pid 3087)
Mar 8 13:04:11 forger_server pppd[3084]: Script /etc/ppp/ip-up finished (pid 3087), status = 0x0

таким образом меня интересует, можно ли, чтобы имя интерфейса было не ppp1 как тут, а ppp10 (соответственно адресу клиента)
если всё-таки нет, то хотя бы просто расскажите, можно ли сделать параметр n в опции unit динамическим? чтобы при подключении следующего клиента имя интерфейса скажем увеличивалось на 1...

Именно так, как

Именно так, как я сказал.
Сначала поднимается интерфейс - физическое устройство, а после ему присваевается ip адрес, а никак не наоборот.

ясно, спасибо

ясно, спасибо :)
тогда всё-таки интересует, можно ли сделать таким образом: при подключении первого клиента имя интерфейса делается, скажем, ppp10. подключается второй - делается на единицу больше - ppp11. и так далее.
если просто поставить unit 10, то при подключении двух клиентов будет возникать ошибка, и оба клиента будут отсоединяться...
помогите, пожалуйста, решить проблемку :)

Как решить

Как решить задачу в лоб не знаю. Рассказывайте зачем Вам это нужжно. Попробуем решить в обход или найти альтернативу.

хмм.. ну если в

хмм.. ну если в лоб не знаете, тогда жаль... искать обходные пути или придумывать альтернативы, я думаю, не стоит. цель не оправдывает средства :)
а хочется это сделать собственно вот для чего:
у меня есть постоянный коннект с интеренетом на интерфейсе ppp0. но случается, что он падает... и может получиться так, что именно в этот момент подключится клиент к pptpd серверу и с ним установится соединение ppp0 заместо только что упавшего. и соответственно все правила в iptables, прописанные для постоянного соединения с интернетом ppp0 начнут применяться к впн туннелю до только что подключившегося клиента... а этого не хотелось бы :)

Честно говоря,

Честно говоря, не вижу, чтобы что-то было нерешаемым. Если Вы готовы, то давайте разбираться, желательно с самого начала, правда, это будет муторно и долго.

Если готовы, то поехали:
1. Опишите полностью Вашу сетевую конфигурацию.
2. Опишите чего вы хотите добиться.
3. Уверены ли Вы, что eth0 действительно должен иметь адрес 10.13.8.0 ?

такс. начнём

такс. начнём сначала...
1) дома имею 2 компа с виндами и кпк. относительно недавно решил сделать сервер, так как подключен к ярославской Корбине Телеком. соответственно на интерфейсе eth0 висит её кабель. интерфейс eth1 это домашняя локальная сеть.
интерфейс ppp0 - это подключение к интернету. на данный момент это не предоставляемое самой КТ подключение, а vpn туннель, использующий её линии связи.
вывод ifconfig предоставлен в первом посте, таблица маршрутов тоже, настройки в /etc/conf.d/net чуть выше. извиняюсь, если описал что-то неполностью или не слишком понятно... спрашивайте, если не хватает какой-то информации
2) на данный момент я хочу добиться настроенного vpn сервера, который будет для одних пользователей (например для меня самого) предоставлять полный доступ к моей локальной сети, а для других (скажем некоторых моих знакомых из сети КТ) просто предоставлял бы доступ в Интернет.
да и вообще, просто интересно познакомиться с этим, научиться настраивать...
3) да, уверен. я получил этот адрес по dhcp, а потом просто прописал его статически. а чем он вас так смущает?

вот мое

вот мое решение, такая же ситуация- через ppp0 идет инет, а последующие интерфейсы даются юзерам, когда инет падает скрипт делает простые вещи:

/bin/kill `cat /var/run/ppp0.pid`
pptp-command start

этим мы точно гарантируем что интерфейс займет инетовский интерфейс
и не заморачиваюсь по поводу присвоения номеров интерфейсов

насчет default route проблем нету,


name pptpd

# Strip the domain prefix from the username before authentication.
# (applies if you use pppd with chapms-strip-domain patch)
#chapms-strip-domain

#require-pap
#require-chap
#require-mschap

refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128

mtu 1500
mru 1500

# OpenSSL licensed ppp-2.4.1 fork with MPPE only, kernel module mppe.o
# {{{
#-chap
#-chapms
# Require the peer to authenticate itself using MS-CHAPv2 [Microsoft
# Challenge Handshake Authentication Protocol, Version 2] authentication.
#+chapms-v2
# Require MPPE encryption
# (note that MPPE requires the use of MSCHAP-V2 during authentication)
#mppe-40        # enable either 40-bit or 128-bit, not both
#mppe-128
#mppe-stateless
# }}}

ms-dns 192.168.2.1
#ms-wins 10.0.0.3
#ms-wins 10.0.0.4
#proxyarp
#defaultroute
#debug
#dump
lock

nobsdcomp
novj
novjccomp
nologfd
nolog

такс. с default route

такс. с default route кажись сам разобрался...
во-первых, в файле /etc/ppp/ip-up.d/90-local.sh обнаружил такую строчку

/sbin/route add default dev $1

конечно же сразу её закомментировал

затем всё-таки решил сделать как советовал Hrundix:
сначала

ln -s /etc/init.d/net.lo /etc/init.d/net.ppp0

затем в /etc/conf.d/net прописал все настроки для ppp0. теперь он выглядит так:

forger_server conf.d # cat net | grep -v '#'

config_eth0=( "10.13.8.0 netmask 255.255.240.0" )
routes_eth0=( "10.0.0.0 netmask 255.0.0.0 via 10.13.0.1"
              "85.21.208.254 netmask 255.255.255.255 via 10.13.0.1"
              "83.102.248.1 netmask 255.255.255.255 via 10.13.0.1"
              "195.14.50.21 netmask 255.255.255.255 via 10.13.0.1"
              "195.14.50.1 netmask 255.255.255.255 via 10.13.0.1"
              "83.102.249.178 netmask 255.255.255.255 via 10.13.0.1"
              "195.14.50.26 netmask 255.255.255.255 via 10.13.0.1"
              "85.21.72.83 netmask 255.255.255.255 via 10.13.0.1"
              "195.14.50.93 netmask 255.255.255.255 via 10.13.0.1"
              "89.179.135.67 netmask 255.255.255.255 via 10.13.0.1"
              "89.179.135.66 netmask 255.255.255.255 via 10.13.0.1"
            )

config_eth1=( "192.168.0.1 netmask 255.255.255.0" )

config_ppp0=( "ppp" )
link_ppp0="pty 'pptp 10.13.40.40 --nolaunchpppd --loglevel 0'"
pppd_ppp0=( "connect /bin/true"
            "ipparam senka_vpn"
            "noauth"
            "refuse-eap"
            "refuse-chap"
            "refuse-mschap"
            "refuse-pap"
            "nobsdcomp"
            "nodeflate"
            "novj"
            "novjccomp"
            "mppc"
            "mppe required,stateless"
            "name forger"
            "remotename senka_vpn"
            "persist"
            "mtu 1250"
            "mru 1250"
            "maxfail 0"
            "lcp-echo-interval 10"
            "lcp-echo-failure 6"
            "defaultroute"
          )

и конечно же не забываем после этого сделать:

rc-update add net.ppp0 default

как видите, добавлена опция defaultroute, что при установке соединения ppp0 делает его маршрутом по-умолчанию. в файле /etc/ppp/options.pptpd наоборот стоит опция nodefaulroute, чтобы vpn туннель до подключенного клиента не становился маршрутом по-умолчанию. вот этот файл целиком:

forger_server ppp # cat options.pptpd | grep -v '#'

name forger_server
refuse-eap
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
mppe required,stateless
ms-dns 192.168.100.1
ms-dns 192.168.100.1
ms-wins 192.168.100.1
ms-wins 192.168.100.1
debug
dump
lock
nobsdcomp
novj
novjccomp
nologfd
nolog
mppc
mtu 1250
mru 1250
nodeflate
nodefaultroute
lcp-echo-interval 10
lcp-echo-failure 6

таким образом в обычное время настройки сервера таковы:

forger_server ppp # ifconfig

eth0      Link encap:Ethernet  HWaddr 00:E0:4C:A1:85:60
          inet addr:10.13.8.0  Bcast:10.13.15.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:181184880 errors:0 dropped:0 overruns:0 frame:0
          TX packets:171623323 errors:0 dropped:0 overruns:1 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3700968384 (3529.5 Mb)  TX bytes:1650800463 (1574.3 Mb)
          Interrupt:17 Base address:0xe000

eth1      Link encap:Ethernet  HWaddr 00:14:85:59:CC:C9
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:131773018 errors:0 dropped:0 overruns:0 frame:0
          TX packets:119899765 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1159588038 (1105.8 Mb)  TX bytes:3176267818 (3029.1 Mb)
          Interrupt:18 Base address:0x2000

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:4710595 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4710595 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:485807987 (463.3 Mb)  TX bytes:485807987 (463.3 Mb)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:10.222.254.18  P-t-P:192.168.250.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1250  Metric:1
          RX packets:1248219 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2270997 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:81611548 (77.8 Mb)  TX bytes:2685303001 (2560.9 Mb)
forger_server ppp # route -v -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
83.102.249.178  10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
85.21.72.83     10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
195.14.50.1     10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
192.168.250.2   0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
195.14.50.21    10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
89.179.135.66   10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
195.14.50.26    10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
89.179.135.67   10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
83.102.248.1    10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
85.21.208.254   10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
195.14.50.93    10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
10.13.0.0       0.0.0.0         255.255.240.0   U     0      0        0 eth0
10.0.0.0        10.13.0.1       255.0.0.0       UG    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         192.168.250.2   0.0.0.0         UG    0      0        0 ppp0

после же подключения клиента:

forger_server ppp # ifconfig

eth0      Link encap:Ethernet  HWaddr 00:E0:4C:A1:85:60
          inet addr:10.13.8.0  Bcast:10.13.15.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:181192794 errors:0 dropped:0 overruns:0 frame:0
          TX packets:171624861 errors:0 dropped:0 overruns:1 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3701602389 (3530.1 Mb)  TX bytes:1652123544 (1575.5 Mb)
          Interrupt:17 Base address:0xe000

eth1      Link encap:Ethernet  HWaddr 00:14:85:59:CC:C9
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:131773485 errors:0 dropped:0 overruns:0 frame:0
          TX packets:119900232 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1159628928 (1105.9 Mb)  TX bytes:3176335592 (3029.1 Mb)
          Interrupt:18 Base address:0x2000

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:4710684 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4710684 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:485815313 (463.3 Mb)  TX bytes:485815313 (463.3 Mb)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:10.222.254.18  P-t-P:192.168.250.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1250  Metric:1
          RX packets:1248952 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2272277 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:81673528 (77.8 Mb)  TX bytes:2686535448 (2562.0 Mb)

ppp1      Link encap:Point-to-Point Protocol
          inet addr:192.168.100.1  P-t-P:192.168.100.10  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1250  Metric:1
          RX packets:14 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:1210 (1.1 Kb)  TX bytes:122 (122.0 b)
forger_server ppp # route -v -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
83.102.249.178  10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
85.21.72.83     10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
195.14.50.1     10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
192.168.250.2   0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
195.14.50.21    10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
89.179.135.66   10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
195.14.50.26    10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
89.179.135.67   10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
192.168.100.10  0.0.0.0         255.255.255.255 UH    0      0        0 ppp1
83.102.248.1    10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
85.21.208.254   10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
195.14.50.93    10.13.0.1       255.255.255.255 UGH   0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
10.13.0.0       0.0.0.0         255.255.240.0   U     0      0        0 eth0
10.0.0.0        10.13.0.1       255.0.0.0       UG    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         192.168.250.2   0.0.0.0         UG    0      0        0 ppp0

Но, у меня всё-таки остались вопросы...
во-первых, так и не разобрался, как мне сделать, чтобы интерфейсы клиентам назначались начиная скажем с ppp10 и далее... или хотя бы как мне железно закрепить интерфейс ppp0 за моим подключением к интернету, чтобы при отключении интернета этот интерфейс не использовался для связи с клиентами.
во-вторых, при установлении соединения с винды, в состоянии подключения показывает, что не используется сжатие, хотя в настройках ppptpd на сервере прописана опция mppc.
помогите разобраться, пожалуйста :)

а ты каментарии

а ты каментарии к опции в ядре читал?

Support for the MPPE Encryption protocol, as employed by the
Microsoft Point-to-Point Tunneling Protocol.
See http://pptpclient.sourceforge.net/ for information on
configuring PPTP clients and servers to utilize this method.

дело в том что mppe/mppc поддерживается отдельным проэктом, и если виндовые клиенты немогут использовать нормальное сжатие - то для работы mppe придётся ставить ядро 2.6.15

Все прочёл, но так и не понял

Все прочёл, но так и не понял почему все вцепились в идею что интернет надо вешать на net.ppp0 создав таким образом для себя проблему и теперь все дружно ее решаем.

Не проще ли инет повесить на net.ppp1000 он точно будет всегда свободен, если конечно ваши клиенты не перевалят за это число)

Сходите на

Сходите на http://forum.nag.ru/ , посмотрите|почитайте (задайте вопросы?) как это делают _профессионалы_ (провайдеры), многие вопросы отпадут сами собой.

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

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