1

Добрый день.

Пытаюсь настроить Линукс роутер на базе Debian.
Топология сети сейчас такова:
1. Домашний компьютер с виндой
2. Один интерфейс получает IP через DHCP.
3. Выход в интернет через VPN с паролем, доступ к ресурсам городской сети  по разному: иные шары доступны без пароля, иные с паролями.


Хочу слезть с винды и построить домашнюю сетку таким образом:
1. Домашняя сетка 192.168.Х.Х
2. Свич между домашней сеткой и eth0 роутера
3. Линукс роутер с двумя интерфейсами eth0 (смотрит в домашнюю сетку 192.168.Х.Х), eth1 (смотрит в набор городских сетей 10.X.X.X., 10.Y.X.X.,) Там их реально больше, но для простоты не уточняю.
4. Подключение к городской сетке происходит через DHCP, посему IP на eth1 - динамический
5. Выход в интернет из дома через VPN

Теперь перехожу к вопросам.
настраиваю PPTPD
Не могу понять как настроить в  /etc/pptpd.conf параметры:

localip
remoteip

У меня ведь IP на eth1 - динамический

Прошу сильно не пинать. Я пока еще не линуксоид, но собираюсь им стать.
Все примеры найденные яндексом для /etc/pptpd.conf  предполагают статические IP посему мне не подходят.

Буду признателен,  если кто-нибудь бросит сюда содержимое конфигов PPTPD и ebtables/iptables для моей топологии.

С уважением, user150.

2

http://pptpclient.sourceforge.net/routing.phtml
что-то вроде pppoeconf настраивает такое чудо как "домашний vpn"

User150 пишет:

Не могу понять как настроить в  /etc/pptpd.conf параметры:

localip
remoteip

это насколько я знаю вообще для сервера, нафига тебе сервер vpn, у тебя есть провайдер же, а у провайдера сервер. =)

провайдер с vpn => клиент vpn => роутим ethernet в свитч => локальная сеть
                                 ^^^^^^^^     
                                 debian              
                                                          

в общем хлебнёшь конфигов по полной, лучше смени провайдера =)

3

system-root пишет:

....что-то вроде pppoeconf настраивает такое чудо как "домашний vpn"

Спасибо за отклик ab
Покопался. Там похоже нет нужного примера с динамическим IP.
Даже если рассматривать мою задачу домашняя сетка <-> Интернет как вырожденный случай
LAN to LAN  по ссылке, то способ конфигурирования динамического IP там не предложен.

system-root пишет:

.....в общем хлебнёшь конфигов по полной, лучше смени провайдера =)

Менять не на что. Выбора в городе нет. Остаётся либо ADSL через АТС (но уже без городской сетки), либо другие "субпровайдеры" моего текущего.

4

Готовые решения в Debian GNU/Linux
http://linuxru.org/linux/debian-prostoy … i-firewall
Тема из которой это родилось Помогите раздать инет в сети

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

5

Точно PPTP? Если да то не имеет значение динамика или статика.

PPTPD это вообще то PPTP cервер а вам нужен клиент.

aptitude install pptp-linux

А дальше сюды http://wiki.debian.org/ru/pptp-linux#A. … BBDkEOgQw-

Может получиться не с первого раза. Если что пиши тут ошибки.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

6

newzenon пишет:

....Готовые решения в Debian GNU/Linux

Спасибо за отклик. ab
По ссылкам есть примеры для iptables, но PPTPD я не нашёл. ac

7

Kettler пишет:

Точно PPTP? Если да то не имеет значение динамика или статика.

PPTPD это вообще то PPTP cервер а вам нужен клиент.

aptitude install pptp-linux

А дальше сюды ...Может получиться не с первого раза. Если что пиши тут ошибки.

Спасибо, это похоже именно то, что нужно. ab
Сейчас буду переваривать.

8

Kettler пишет:

Точно PPTP? Если да то не имеет значение динамика или статика.

PPTPD это вообще то PPTP cервер а вам нужен клиент.

Может получиться не с первого раза. Если что пиши тут ошибки.

Да не получилось. ac
Команда pon <имя $TUNNEL> ничего не сообщает.
В логах /var/log/ppp-забыл хвост  написано, что соединение ppp требует пароль но не может его найти.
В файле /etc/ppp/chap-secrets, я вроде бы все написал, но с некоторым изменением. Я не использовал в качестве имени сервера литерал "PPTP", поскольку провайдер раздает Инет разным группам клиентов с разных VPN серверов. Я вписал в настройку URL сервера для меня.
Т.е. строка в chap-secrets выглядела так
MyUserLogin   MyProvaider.VPNserver.ru MyPassword  *

В третьей строчке /etc/ppp/peers/$TUNNEL указал также URL, как и в chap-secrets
remotename MyProvaider.VPNserver.ru
Литерал $TUNNEL естественно заменил на другое имя

скрипт ip-up с параметром ppp0 и без оного либо не работает, либо отрабатывает молча, без отражения чего либо в терминале.
В папках /etc/ppp/peers/ip-up.d/ находятся два каких-то "левых" скрипта, имена которых и содержимое мне ничего не говорит.

route -n показывает маршруты на городские сети, похоже принятые от провайдера.

С iptables еще не разбирался. Думаю, поскольку ppp в логе ругается на пароль, надо сначала с этим разобраться.

Подскажите пожалуйста где еще покопаться?

9 (04.06.2012 09:28:57 отредактировано Kettler)

User150 пишет:

Т.е. строка в chap-secrets выглядела так
MyUserLogin   MyProvaider.VPNserver.ru MyPassword  *

MyUserLogin   PPTP MyPassword  *

User150 пишет:

remotename MyProvaider.VPNserver.ru

remotename PPTP

А вот тут
pty "pptp --loglevel 1 IP_ADDRESS --nolaunchpppd"

Надо так
pty "pptp --loglevel 1 MyProvaider.VPNserver.ru --nolaunchpppd --nobuffer"

Из /etc/ppp/peers/$TUNNEL
cделай так /etc/ppp/peers/PPTP

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

10

Меня сейчас наверное запинают, но для начинающего рекомендую поставить WebMin, многие вопросы отпадут ab Будете сетку и ВПН конфигурить из веб-морды. Единственное что не пойму - провайдер даёт доступ в инет через ВПН или ВЫ хотите давать доступ внутренней подсети к инету через ВПН?

11

ASDev пишет:

Единственное что не пойму - провайдер даёт доступ в инет через ВПН или ВЫ хотите давать доступ внутренней подсети к инету через ВПН?

Вот и я не понял.

История показывает, что во всем новом обычно кроется какой-то подвох.
Классическая ошибка, которую совершают проектировщики
абсолютно надежных систем, - недооценка изобретательности клинических идиотов.

12

Kettler пишет:

...cделай так /etc/ppp/peers/PPTP

Спасибо ab Сделал. Кое что заработало.
Теперь вижу ppp0 в ifconfig, правда никакой активности не наблюдается.
В маршрутах указан айпишник присвоенный моему VPN соединению.
Но... Инета нет.
Все делал из под терминала. Где искать логи пока не знаю.
Возможно стоит приступить к файрволу? С чего начать?
Есть где доступное Хау-Ту ?

В ifconfig обнаружил интерфейс pan0. Вроде блютусов на мамке нет. Откуда он взялся?

Я тут начитавшись, включил рута в графическом режиме.  Легче не стало. (потом поставлю минимальный образ с СиДи оболочку отключу)

Там в графической настройке сети есть закладка с VPN, но кнопка добавить серая. Видимо надо еще какой нибудь пакет происталить. ac

2 олл, я пытаюсь настроить доступ от домашнего компьютера к Инету через VPN сервер провайдера, т.е. настраиваю свой VPN клиент.  Раньше я не знал, что это две разные штуки. Казалось туннель он и есть туннель с двух сторон одинаковый. Ан нет

13 (05.06.2012 00:04:16 отредактировано XliN)

Если появился ррр0, то коннект есть. Покпжи
route -n или ip r l
тем самым узнаем твой шлюз по умолчанию. Так же покажи настройки dns + конфиг ррр.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

14

XliN пишет:

Если появился ррр0, то коннект есть. Покпжи
route -n или ip r l
тем самым узнаем твой шлюз по умолчанию. Так же покажи настройки dns + конфиг ррр.

Я быстро показать не могу компа два, а монитор один. Надо отключаться переконтачивать всё на свете ac, но насколько я помню, route -n во всех маршрутах к городским подсетях показывал шлюзом айпишник данный мне через VPN.
Провайдер (насколько я помню) указал, что общий шлюз по умолчанию не нужен, т.к. в городские сетки следует ходить через таблицы маршрутизации, а в инет через VPN.

15

Общий шлюз будет всегда, а вот как раз что бы ходить по локалке прова и добавляются таблицы маршрутизации.
Хочется посмотреть что в /etc/resolv.conf

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

16 (05.06.2012 01:18:19 отредактировано User150)

XliN пишет:

Общий шлюз будет всегда, а вот как раз что бы ходить по локалке прова и добавляются таблицы маршрутизации.
Хочется посмотреть что в /etc/resolv.conf

В etc/resolv.conf я в своё время записал два айпишника ДНС серверов провайдера.
Исследование показало, что команда
route add default dev ppp0 сообщает что сеть "из даун" что-то вроде этого.
Команда /etc/ppp/ip-up ppp0 ни к чему не приводит.
Ранее я ошибочно писал, что в таблицах маршрутизации указан Айпишник данный мне от VPN. Это не так:( , на самом деле я запутался, сейчас распутался ab это был Айпишник данный мне через DHCP для eth1.
Команда pon $Tunnel приводит к увеличению интерфейсов ppp0-pppX видимых в ifconfig -a но все они "лежачие"

17

покаж все конфиги.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

18 (05.06.2012 21:52:35 отредактировано User150)

Kettler пишет:

покаж все конфиги.

pptpd-options

+ открыть спойлер

###############################################################################
# $Id: pptpd-options 4643 2006-11-06 18:42:43Z rene $
#
# Sample Poptop PPP options file /etc/ppp/pptpd-options
# Options used by PPP when a connection arrives from a client.
# This file is pointed to by /etc/pptpd.conf option keyword.
# Changes are effective on the next connection.  See "man pppd".
#
# You are expected to change this file to suit your system.  As
# packaged, it requires PPP 2.4.2 and the kernel MPPE module.
###############################################################################


# Authentication

# Name of the local system for authentication purposes
# (must match the second field in /etc/ppp/chap-secrets entries)
name pptpd

# Optional: domain name to use for authentication
# domain mydomain.net

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


# Encryption
# Debian: on systems with a kernel built with the package
# kernel-patch-mppe >= 2.4.2 and using ppp >= 2.4.2, ...
# {{{
refuse-pap
refuse-chap
refuse-mschap
# Require the peer to authenticate itself using MS-CHAPv2 [Microsoft
# Challenge Handshake Authentication Protocol, Version 2] authentication.
require-mschap-v2
# Require MPPE 128-bit encryption
# (note that MPPE requires the use of MSCHAP-V2 during authentication)
require-mppe-128
# }}}




# Network and Routing

# If pppd is acting as a server for Microsoft Windows clients, this
# option allows pppd to supply one or two DNS (Domain Name Server)
# addresses to the clients.  The first instance of this option
# specifies the primary DNS address; the second instance (if given)
# specifies the secondary DNS address.
# Attention! This information may not be taken into account by a Windows
# client. See KB311218 in Microsoft's knowledge base for more information.
#ms-dns 10.0.0.1
#ms-dns 10.0.0.2

# If pppd is acting as a server for Microsoft Windows or "Samba"
# clients, this option allows pppd to supply one or two WINS (Windows
# Internet Name Services) server addresses to the clients.  The first
# instance of this option specifies the primary WINS address; the
# second instance (if given) specifies the secondary WINS address.
#ms-wins 10.0.0.3
#ms-wins 10.0.0.4

# Add an entry to this system's ARP [Address Resolution Protocol]
# table with the IP address of the peer and the Ethernet address of this
# system.  This will have the effect of making the peer appear to other
# systems to be on the local ethernet.
# (you do not need this if your PPTP server is responsible for routing
# packets to the clients -- James Cameron)
proxyarp

# Debian: do not replace the default route
nodefaultroute


# Logging

# Enable connection debugging facilities.
# (see your syslog configuration for where pppd sends to)
#debug

# Print out all the option values which have been set.
# (often requested by mailing list to verify options)
#dump


# Miscellaneous

# Create a UUCP-style lock file for the pseudo-tty to ensure exclusive
# access.
lock

# Disable BSD-Compress compression
nobsdcomp

0000usepeerdns из ip-up.d

+ открыть спойлер

#!/bin/sh -e

# this variable is only set if the usepeerdns pppd option is being used
[ "$USEPEERDNS" ] || exit 0

# exit if the resolvconf package is installed
[ -x /sbin/resolvconf ] && exit 0

# create the file if it does not exist
if [ ! -e /etc/resolv.conf ]; then
  : > /etc/resolv.conf
fi

# follow any symlink to find the real file
REALRESOLVCONF=$(readlink --canonicalize /etc/resolv.conf)

# merge the new nameservers with the other options from the old configuration
{
  cat /etc/ppp/resolv.conf
  grep --invert-match '^nameserver[[:space:]]' "$REALRESOLVCONF" || true
} > "$REALRESOLVCONF.tmp"

# backup the old configuration and install the new one
cp -a "$REALRESOLVCONF" "$REALRESOLVCONF.pppd-backup.$PPP_IFACE"
mv -f "$REALRESOLVCONF.tmp" "$REALRESOLVCONF"

# restart nscd because resolv.conf has changed
if [ -e /var/run/nscd.pid ]; then
  /etc/init.d/nscd restart || true
fi

exit 0

chap-secrets

+ открыть спойлер

# Secrets for authentication using CHAP
# client    server    secret            IP addresses
<My_login>    PPTP <My_password>    *


exim4 из ip-up.d

+ открыть спойлер

#!/bin/sh

if [ -n "$EX4DEBUG" ]; then
  echo "now debugging $0 $@"
  set -x
fi

[ -x /usr/lib/exim4/exim4 ] || exit 0

[ -f /etc/default/exim4 ] && . /etc/default/exim4

if [ "${QUEUERUNNER}" != "no" ] ; then
# Flush exim queue
    /usr/sbin/exim4 -qqf ${QUEUERUNNEROPTIONS} ${COMMONOPTIONS}
fi


/etc/hostname

+ открыть спойлер

<host_name>

ifconfig -a

+ открыть спойлер

ifconfig -a тут в запарке не поднял pon ppp0, но здесь он обычно ppp0 без Айпишника
eth0      Link encap:Ethernet  HWaddr f4:6d:04:73:bd:e9 
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  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:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:27 Base address:0x4000

eth1      Link encap:Ethernet  HWaddr 00:1b:21:bf:66:33 
          inet addr:10.XXX.YYY.ZZZ  Bcast:10.55.15.255  Mask:255.255.254.0
          inet6 addr: fe80::21b:21ff:febf:6633/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1498 errors:0 dropped:0 overruns:0 frame:0
          TX packets:109 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:111503 (108.8 KiB)  TX bytes:12823 (12.5 KiB)
          Interrupt:16 Memory:feac0000-feae0000

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:104 errors:0 dropped:0 overruns:0 frame:0
          TX packets:104 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:8604 (8.4 KiB)  TX bytes:8604 (8.4 KiB)

pan0      Link encap:Ethernet  HWaddr 12:9d:b8:65:d6:1f 
          BROADCAST MULTICAST  MTU:1500  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)

interfaces

+ открыть спойлер

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth1
iface eth1 inet dhcp

auto eth0
iface eth0 inet static
    address        192.168.0.2
    netmask     255.255.255.0
    broadcast    192.168.0.255
    gateway        192.168.0.1

options

+ открыть спойлер

# /etc/ppp/options
#
# Originally created by Jim Knoble <jmknoble@mercury.interpath.net>
# Modified for Debian by alvar Bray <alvar@meiko.co.uk>
# Modified for PPP Server setup by Christoph Lameter <clameter@debian.org>
#
# To quickly see what options are active in this file, use this command:
#   egrep -v '#|^ *$' /etc/ppp/options

# Specify which DNS Servers the incoming Win95 or WinNT Connection should use
# Two Servers can be remotely configured
# ms-dns 192.168.1.1
# ms-dns 192.168.1.2

# Specify which WINS Servers the incoming connection Win95 or WinNT should use
# ms-wins 192.168.1.50
# ms-wins 192.168.1.51

# Run the executable or shell command specified after pppd has
# terminated the link.  This script could, for example, issue commands
# to the modem to cause it to hang up if hardware modem control signals
# were not available.
#disconnect "chat -- \d+++\d\c OK ath0 OK"

# async character map -- 32-bit hex; each bit is a character
# that needs to be escaped for pppd to receive it.  0x00000001
# represents '\x01', and 0x80000000 represents '\x1f'.
asyncmap 0

# Require the peer to authenticate itself before allowing network
# packets to be sent or received.
# Please do not disable this setting. It is expected to be standard in
# future releases of pppd. Use the call option (see manpage) to disable
# authentication for specific peers.
auth

# Use hardware flow control (i.e. RTS/CTS) to control the flow of data
# on the serial port.
crtscts

# Use software flow control (i.e. XON/XOFF) to control the flow of data
# on the serial port.
#xonxoff

# Specifies that certain characters should be escaped on transmission
# (regardless of whether the peer requests them to be escaped with its
# async control character map).  The characters to be escaped are
# specified as a list of hex numbers separated by commas.  Note that
# almost any character can be specified for the escape option, unlike
# the asyncmap option which only allows control characters to be
# specified.  The characters which may not be escaped are those with hex
# values 0x20 - 0x3f or 0x5e.
#escape 11,13,ff

# Don't use the modem control lines.
#local

# Specifies that pppd should use a UUCP-style lock on the serial device
# to ensure exclusive access to the device.
lock

# Don't show the passwords when logging the contents of PAP packets.
# This is the default.
hide-password

# When logging the contents of PAP packets, this option causes pppd to
# show the password string in the log message.
#show-password

# Use the modem control lines.  On Ultrix, this option implies hardware
# flow control, as for the crtscts option.  (This option is not fully
# implemented.)
modem

# Set the MRU [Maximum Receive Unit] value to <n> for negotiation.  pppd
# will ask the peer to send packets of no more than <n> bytes. The
# minimum MRU value is 128.  The default MRU value is 1500.  A value of
# 296 is recommended for slow links (40 bytes for TCP/IP header + 256
# bytes of data).
#mru 542

# Set the interface netmask to <n>, a 32 bit netmask in "decimal dot"
# notation (e.g. 255.255.255.0).
#netmask 255.255.255.0

# Disables the default behaviour when no local IP address is specified,
# which is to determine (if possible) the local IP address from the
# hostname. With this option, the peer will have to supply the local IP
# address during IPCP negotiation (unless it specified explicitly on the
# command line or in an options file).
#noipdefault

# Enables the "passive" option in the LCP.  With this option, pppd will
# attempt to initiate a connection; if no reply is received from the
# peer, pppd will then just wait passively for a valid LCP packet from
# the peer (instead of exiting, as it does without this option).
#passive

# With this option, pppd will not transmit LCP packets to initiate a
# connection until a valid LCP packet is received from the peer (as for
# the "passive" option with old versions of pppd).
#silent

# Don't request or allow negotiation of any options for LCP and IPCP
# (use default values).
#-all

# Disable Address/Control compression negotiation (use default, i.e.
# address/control field disabled).
#-ac

# Disable asyncmap negotiation (use the default asyncmap, i.e. escape
# all control characters).
#-am

# Don't fork to become a background process (otherwise pppd will do so
# if a serial device is specified).
#-detach

# Disable IP address negotiation (with this option, the remote IP
# address must be specified with an option on the command line or in
# an options file).
#-ip

# Disable IPCP negotiation and IP communication. This option should
# only be required if the peer is buggy and gets confused by requests
# from pppd for IPCP negotiation.
#noip

# Disable magic number negotiation.  With this option, pppd cannot
# detect a looped-back line.
#-mn

# Disable MRU [Maximum Receive Unit] negotiation (use default, i.e.
# 1500).
#-mru

# Disable protocol field compression negotiation (use default, i.e.
# protocol field compression disabled).
#-pc

# Require the peer to authenticate itself using PAP.
#+pap

# Don't agree to authenticate using PAP.
#-pap

# Require the peer to authenticate itself using CHAP [Cryptographic
# Handshake Authentication Protocol] authentication.
#+chap

# Don't agree to authenticate using CHAP.
#-chap

# Disable negotiation of Van Jacobson style IP header compression (use
# default, i.e. no compression).
#-vj

# Increase debugging level (same as -d).  If this option is given, pppd
# will log the contents of all control packets sent or received in a
# readable form.  The packets are logged through syslog with facility
# daemon and level debug. This information can be directed to a file by
# setting up /etc/syslog.conf appropriately (see syslog.conf(5)).  (If
# pppd is compiled with extra debugging enabled, it will log messages
# using facility local2 instead of daemon).
#debug

# Append the domain name <d> to the local host name for authentication
# purposes.  For example, if gethostname() returns the name porsche,
# but the fully qualified domain name is porsche.Quotron.COM, you would
# use the domain option to set the domain name to Quotron.COM.
#domain <d>

# Enable debugging code in the kernel-level PPP driver.  The argument n
# is a number which is the sum of the following values: 1 to enable
# general debug messages, 2 to request that the contents of received
# packets be printed, and 4 to request that the contents of transmitted
# packets be printed.
#kdebug n

# Set the MTU [Maximum Transmit Unit] value to <n>. Unless the peer
# requests a smaller value via MRU negotiation, pppd will request that
# the kernel networking code send data packets of no more than n bytes
# through the PPP network interface.
#mtu <n>

# Set the name of the local system for authentication purposes to <n>.
# This is a privileged option. With this option, pppd will use lines in the
# secrets files which have <n> as the second field when looking for a
# secret to use in authenticating the peer. In addition, unless overridden
# with the user option, <n> will be used as the name to send to the peer
# when authenticating the local system to the peer. (Note that pppd does
# not append the domain name to <n>.)
#name <n>

# Enforce the use of the hostname as the name of the local system for
# authentication purposes (overrides the name option).
#usehostname

# Set the assumed name of the remote system for authentication purposes
# to <n>.
#remotename <n>

# Add an entry to this system's ARP [Address Resolution Protocol]
# table with the IP address of the peer and the Ethernet address of this
# system.
#proxyarp

# Use the system password database for authenticating the peer using
# PAP. Note: mgetty already provides this option. If this is specified
# then dialin from users using a script under Linux to fire up ppp wont work.
# login

# If this option is given, pppd will send an LCP echo-request frame to the
# peer every n seconds. Normally the peer should respond to the echo-request
# by sending an echo-reply. This option can be used with the
# lcp-echo-failure option to detect that the peer is no longer connected.
lcp-echo-interval 30

# If this option is given, pppd will presume the peer to be dead if n
# LCP echo-requests are sent without receiving a valid LCP echo-reply.
# If this happens, pppd will terminate the connection.  Use of this
# option requires a non-zero value for the lcp-echo-interval parameter.
# This option can be used to enable pppd to terminate after the physical
# connection has been broken (e.g., the modem has hung up) in
# situations where no hardware modem control lines are available.
lcp-echo-failure 4

# Set the LCP restart interval (retransmission timeout) to <n> seconds
# (default 3).
#lcp-restart <n>

# Set the maximum number of LCP terminate-request transmissions to <n>
# (default 3).
#lcp-max-terminate <n>

# Set the maximum number of LCP configure-request transmissions to <n>
# (default 10).
#lcp-max-configure <n>

# Set the maximum number of LCP configure-NAKs returned before starting
# to send configure-Rejects instead to <n> (default 10).
#lcp-max-failure <n>

# Set the IPCP restart interval (retransmission timeout) to <n>
# seconds (default 3).
#ipcp-restart <n>

# Set the maximum number of IPCP terminate-request transmissions to <n>
# (default 3).
#ipcp-max-terminate <n>

# Set the maximum number of IPCP configure-request transmissions to <n>
# (default 10).
#ipcp-max-configure <n>

# Set the maximum number of IPCP configure-NAKs returned before starting
# to send configure-Rejects instead to <n> (default 10).
#ipcp-max-failure <n>

# Set the PAP restart interval (retransmission timeout) to <n> seconds
# (default 3).
#pap-restart <n>

# Set the maximum number of PAP authenticate-request transmissions to
# <n> (default 10).
#pap-max-authreq <n>

# Set the maximum time that pppd will wait for the peer to authenticate
# itself with PAP to <n> seconds (0 means no limit).
#pap-timeout <n>

# Set the CHAP restart interval (retransmission timeout for
# challenges) to <n> seconds (default 3).
#chap-restart <n>

# Set the maximum number of CHAP challenge transmissions to <n>
# (default 10).
#chap-max-challenge

# If this option is given, pppd will rechallenge the peer every <n>
# seconds.
#chap-interval <n>

# With this option, pppd will accept the peer's idea of our local IP
# address, even if the local IP address was specified in an option.
#ipcp-accept-local

# With this option, pppd will accept the peer's idea of its (remote) IP
# address, even if the remote IP address was specified in an option.
#ipcp-accept-remote

# Disable the IPXCP and IPX protocols.
# To let pppd pass IPX packets comment this out --- you'll probably also
# want to install ipxripd, and have the Internal IPX Network option enabled
# in your kernel.  /usr/doc/HOWTO/IPX-HOWTO.gz contains more info.
noipx

# Exit once a connection has been made and terminated. This is the default,
# unless the `persist' or `demand' option has been specified.
#nopersist

# Do not exit after a connection is terminated; instead try to reopen
# the connection.
#persist

# Terminate after n consecutive failed connection attempts.
# A value of 0 means no limit. The default value is 10.
#maxfail <n>

# Initiate the link only on demand, i.e. when data traffic is present.
# With this option, the remote IP address must be specified by the user on
# the command line or in an options file.  Pppd will initially configure
# the interface and enable it for IP traffic without connecting to the peer.
# When traffic is available, pppd will connect to the peer and perform
# negotiation, authentication, etc.  When this is completed, pppd will
# commence passing data packets (i.e., IP packets) across the link.
#demand

# Specifies that pppd should disconnect if the link is idle for <n> seconds.
# The link is idle when no data packets (i.e. IP packets) are being sent or
# received.  Note: it is not advisable to use this option with the persist
# option without the demand option.  If the active-filter option is given,
# data packets which are rejected by the specified activity filter also
# count as the link being idle.
#idle <n>

# Specifies how many seconds to wait before re-initiating the link after
# it terminates.  This option only has any effect if the persist or demand
# option is used.  The holdoff period is not applied if the link was
# terminated because it was idle.
#holdoff <n>

# Wait for up n milliseconds after the connect script finishes for a valid
# PPP packet from the peer.  At the end of this time, or when a valid PPP
# packet is received from the peer, pppd will commence negotiation by
# sending its first LCP packet.  The default value is 1000 (1 second).
# This wait period only applies if the connect or pty option is used.
#connect-delay <n>

# Packet filtering: for more information, see pppd(8)
# Any packets matching the filter expression will be interpreted as link
# activity, and will cause a "demand" connection to be activated, and reset
# the idle connection timer. (idle option)
# The filter expression is akin to that of tcpdump(1)
#active-filter <filter-expression>

# ---<End of File>---


options.pptp

+ открыть спойлер

###############################################################################
# $Id: options.pptp,v 1.3 2006/03/26 23:11:05 quozl Exp $
#
# Sample PPTP PPP options file /etc/ppp/options.pptp
# Options used by PPP when a connection is made by a PPTP client.
# This file can be referred to by an /etc/ppp/peers file for the tunnel.
# Changes are effective on the next connection.  See "man pppd".
#
# You are expected to change this file to suit your system.  As
# packaged, it requires PPP 2.4.2 or later from http://ppp.samba.org/
# and the kernel MPPE module available from the CVS repository also on
# http://ppp.samba.org/, which is packaged for DKMS as kernel_ppp_mppe.
###############################################################################

# Lock the port
lock

# Authentication
# We don't need the tunnel server to authenticate itself
noauth

# We won't do PAP, EAP, CHAP, or MSCHAP, but we will accept MSCHAP-V2
# (you may need to remove these refusals if the server is not using MPPE)
refuse-pap
refuse-eap
refuse-chap
refuse-mschap

# Compression
# Turn off compression protocols we know won't be used
nobsdcomp
nodeflate

# Encryption
# (There have been multiple versions of PPP with encryption support,
# choose with of the following sections you will use.  Note that MPPE
# requires the use of MSCHAP-V2 during authentication)

# http://ppp.samba.org/ 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
# }}}

# http://polbox.com/h/hs001/ 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
# }}}

pptpd-options

+ открыть спойлер

###############################################################################
# $Id: pptpd-options 4643 2006-11-06 18:42:43Z rene $
#
# Sample Poptop PPP options file /etc/ppp/pptpd-options
# Options used by PPP when a connection arrives from a client.
# This file is pointed to by /etc/pptpd.conf option keyword.
# Changes are effective on the next connection.  See "man pppd".
#
# You are expected to change this file to suit your system.  As
# packaged, it requires PPP 2.4.2 and the kernel MPPE module.
###############################################################################


# Authentication

# Name of the local system for authentication purposes
# (must match the second field in /etc/ppp/chap-secrets entries)
name pptpd

# Optional: domain name to use for authentication
# domain mydomain.net

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


# Encryption
# Debian: on systems with a kernel built with the package
# kernel-patch-mppe >= 2.4.2 and using ppp >= 2.4.2, ...
# {{{
refuse-pap
refuse-chap
refuse-mschap
# Require the peer to authenticate itself using MS-CHAPv2 [Microsoft
# Challenge Handshake Authentication Protocol, Version 2] authentication.
require-mschap-v2
# Require MPPE 128-bit encryption
# (note that MPPE requires the use of MSCHAP-V2 during authentication)
require-mppe-128
# }}}




# Network and Routing

# If pppd is acting as a server for Microsoft Windows clients, this
# option allows pppd to supply one or two DNS (Domain Name Server)
# addresses to the clients.  The first instance of this option
# specifies the primary DNS address; the second instance (if given)
# specifies the secondary DNS address.
# Attention! This information may not be taken into account by a Windows
# client. See KB311218 in Microsoft's knowledge base for more information.
#ms-dns 10.0.0.1
#ms-dns 10.0.0.2

# If pppd is acting as a server for Microsoft Windows or "Samba"
# clients, this option allows pppd to supply one or two WINS (Windows
# Internet Name Services) server addresses to the clients.  The first
# instance of this option specifies the primary WINS address; the
# second instance (if given) specifies the secondary WINS address.
#ms-wins 10.0.0.3
#ms-wins 10.0.0.4

# Add an entry to this system's ARP [Address Resolution Protocol]
# table with the IP address of the peer and the Ethernet address of this
# system.  This will have the effect of making the peer appear to other
# systems to be on the local ethernet.
# (you do not need this if your PPTP server is responsible for routing
# packets to the clients -- James Cameron)
proxyarp

# Debian: do not replace the default route
nodefaultroute


# Logging

# Enable connection debugging facilities.
# (see your syslog configuration for where pppd sends to)
#debug

# Print out all the option values which have been set.
# (often requested by mailing list to verify options)
#dump


# Miscellaneous

# Create a UUCP-style lock file for the pseudo-tty to ensure exclusive
# access.
lock

# Disable BSD-Compress compression
nobsdcomp

resolv.conf

+ открыть спойлер

domain <domain_name>
search <domain_name>
nameserver <DNS_IP_1>
nameserver <DNS_IP_2>


/etc/ppp/peers/PPTP

+ открыть спойлер

# example configuration for a dialup connection authenticated with PAP or CHAP
#
# This is the default configuration used by pon(1) and poff(1).
# See the manual page pppd(8) for information on all the options.

# MUST CHANGE: replace myusername@realm with the PPP login name given to
# your by your provider.
# There should be a matching entry with the password in /etc/ppp/pap-secrets
# and/or /etc/ppp/chap-secrets.
#user admin77

# MUST CHANGE: replace ******** with the phone number of your provider.
# The /etc/chatscripts/pap chat script may be modified to change the
# modem initialization string.
#connect "/usr/sbin/chat -v -f /etc/chatscripts/pap -T ********"

# Serial device to which the modem is connected.
# /dev/modem

# Speed of the serial line.
# 115200

# Assumes that your IP address is allocated dynamically by the ISP.
#noipdefault
# Try to get the name server addresses from the ISP.
#usepeerdns
# Use this connection as the default route.
#defaultroute

# Makes pppd "dial again" when the connection is lost.
persist

# Do not ask the remote to authenticate.
#noauth

maxfail 0
lcp-echo-interval 60
lcp-echo-failure 4
defaultroute
pty "pptp --loglevel 1 <VPN_Server_URL> --nolaunchpppd --nobuffer"
name <MY_Login>
remotename PPTP
file /etc/ppp/options.pptp
ipparam PPTP


/etc/ppp/peers/provider

+ открыть спойлер

# example configuration for a dialup connection authenticated with PAP or CHAP
#
# This is the default configuration used by pon(1) and poff(1).
# See the manual page pppd(8) for information on all the options.

# MUST CHANGE: replace myusername@realm with the PPP login name given to
# your by your provider.
# There should be a matching entry with the password in /etc/ppp/pap-secrets
# and/or /etc/ppp/chap-secrets.
user "myusername@realm"

# MUST CHANGE: replace ******** with the phone number of your provider.
# The /etc/chatscripts/pap chat script may be modified to change the
# modem initialization string.
connect "/usr/sbin/chat -v -f /etc/chatscripts/pap -T ********"

# Serial device to which the modem is connected.
/dev/modem

# Speed of the serial line.
115200

# Assumes that your IP address is allocated dynamically by the ISP.
noipdefault
# Try to get the name server addresses from the ISP.
usepeerdns
# Use this connection as the default route.
defaultroute

# Makes pppd "dial again" when the connection is lost.
persist

# Do not ask the remote to authenticate.
noauth

У-ф-ф-ф ab

19

User150 пишет:

require-mppe-128
require-mschap-v2

точно необходимо у прова шифрование?

User150 пишет:

options

вообще не трогай.

User150 пишет:

#noauth

раскоментируй.

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

20

Kettler пишет:
User150 пишет:

require-mppe-128
require-mschap-v2

точно необходимо у прова шифрование?

В инструкции провайдера для виндового ВПН стоят такие чек-боксы.
Вчера переставил Дибиан, сейчас начну проверять.

21

Так и не заработал.

  • Снес поставил Debian CD1 (т.е. только Х и системные утилиты)

  • Инсталировал pptp-linux

  • поправил 4 конфига (включая interfaces)

  • не работает ac

Есть где логи посмотреть, что происходит после pon PPTP ?
И что после /etc/ppp/ip-up ppp0 ?

22

Лог ошибок /var/log/ppp-connect-errors содержит единственную фразу sh: PPTP: not found
Есть еще вопросы:
- Как задать конкретный интерфейс для VPN канала? У меня их два: eth0 и eth1.
- Как задать задержки запуска VPN подключения? В моём случае винда сначала получает IP по DHCP, затем через полученный IP запускает процедуру VPN подключения. Эта процедура визуально занимает от 3-5 секунд до минуты порой. Кроме того, похоже, провайдер "повесил" минутный интервал для повторного подключения в случае разрыва соединения VPN.

23

Если еще актуально то вот:
http://wiki.debian.org/ru/pptp-linux
Тут все очень хорошо описано.

Выложи сюда маршрутизацию (route -n)

В ней у тебя скорее всего будет следующее:
3 Маршрута:
1. Маршрут в локальную сеть 192.168.0.0 через 192.168.0.2
2. Маршрут в подсеть 10.а.b.y через 0.0.0.0
3. Маршрут в  подсеть 0.0.0.0 через 10.а.b.z

При создании vpn соединения, он будет посылать запрос на авторизацию в соответсвии с таблицей маршрутизации, то по маршруту 0.0.0.0 через 10.а.b.z. Соответственно интерфейс для vpn выбирается не вписыванием его куда либо а через таблицу маршрутизации.

А по второму вопросу читай по ссылке, которую я дал. Там есть ответ.

24

Ovoshlook пишет:

Если еще актуально то вот:
http://wiki.debian.org/ru/pptp-linux
Тут все очень хорошо описано.

Спасибо... был я там. bx
С подключением через VPN я уже разобрался.
Были и мои ошибки в конфигах, но и провайдер был не точен.
Я пытался аутенфицироваться по самому "крутому" протоколу, MS-CHAP-v2. Оный был объявлен в описалове настроек провайдера, но реально не работал. Не из под Линукса, не из под винды (специально проверял). Как только разрешил простой CHAP, соединение получилось.