pptp подключение проходит, интернет не идёт

Вопросы и пожелания создателю
Ответить
belitfea
Сообщения: 8
Зарегистрирован: Вс янв 28, 2007 7:04 am
Контактная информация:

pptp подключение проходит, интернет не идёт

Сообщение belitfea »

Привет всем.
Спасибо создателю за обилие функциональности в продукте =)

Система freebsd 6.1 R
abills 0.35
freeradius 1.1.0
exppp_asm
mysql-server 4.1
apache 1.3
ipfw
ipnat

С freebsd работаю недолго, да и с vpn первый раз дело имею: так что если что не пинайте =)
Все настраивал по документации, инет не идёт к пользователям.
На шлюзе 2 интерфейса:
rl0 192.168.100.254 смотрит в локал
rl1 192.168.1.2 смотрит на ADSL модем, ip модема -192.168.1.1

Раздаются Ip пользователям автоматом в диапозоне 192.168.1.3-192.168.1.53
Настройки локальной сети пользователя:
ip: 192.168.100.2
mask: 255.255.255.0
GW: 192.168.100.254 ip локального инт-а на маршрутизаторе
DNS: 192.168.100.1 локальный bind

При подключении клиента через pptp в WIN пишется:
сервер 192.168.1.2
клиент 192.168.1.26
на биллинге

Код: Выделить всё

vpn# ipfw show
02000   0     0 pipe 2000 ip from 80.64.93.149 to any via tun0 in
03000  15  1746 pipe 3000 ip from any to any via tun0 in
65535 685 69223 allow ip from any to any

Код: Выделить всё

vpn# ipnat -l
List of active MAP/Redirect filters:
map rl0 0.0.0.0/0 -> 0.0.0.0/32 proxy port ftp ftp/tcp
map rl0 192.168.1.0/24 -> 0.0.0.0/32 portmap tcp/udp 0:60000
map rl0 192.168.1.0/24 -> 0.0.0.0/32

List of active sessions:
ЛОГИ:

Код: Выделить всё

vpn# cat /usr/abills/var/log/abills.log
2007-01-27 20:04:14 LOG_INFO: AUTH [mylon] NAS: 1 (127.0.0.1) GT: 0.19309
2007-01-27 20:08:09 LOG_INFO: AUTH [mylon] NAS: 1 (127.0.0.1) GT: 0.19468
2007-01-28 07:51:00 LOG_INFO: AUTH [mylon] NAS: 1 (127.0.0.1) GT: 0.32535
2007-01-28 07:52:59 LOG_INFO: AUTH [mylon] NAS: 1 (127.0.0.1) GT: 0.19563
2007-01-28 08:39:27 LOG_INFO: AUTH [mylon] NAS: 1 (127.0.0.1) GT: 0.19935
2007-01-28 08:44:36 LOG_INFO: AUTH [mylon] NAS: 1 (127.0.0.1) GT: 0.89281
2007-01-28 08:46:14 LOG_INFO: AUTH [mylon] NAS: 1 (127.0.0.1) GT: 0.19830
2007-01-28 09:18:38 LOG_INFO: AUTH [mylon] NAS: 1 (127.0.0.1) GT: 0.38947

Код: Выделить всё

vpn# cat /var/log/radius.log
Sun Jan 28 08:50:15 2007 : Info: Using deprecated naslist file.  Support for this will go away soon.
Sun Jan 28 08:50:15 2007 : Info: rlm_exec: Wait=yes but no output defined. Did you mean output=none?
Sun Jan 28 08:50:16 2007 : Info: Ready to process requests.

Код: Выделить всё

cat /var/log/ppp.log
Jan 28 09:24:32 vpn ppp[723]: Phase: Using interface: tun0
Jan 28 09:24:32 vpn ppp[723]: Phase: deflink: Created in closed state
pptpd пишет только однго

Код: Выделить всё

Jan 27 18:51:44 vpn pptpd[759]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!
Подскажите пож где можно порыть уже неделю сижу как у разбитого карыта =)

sopov
Сообщения: 610
Зарегистрирован: Вс апр 02, 2006 7:13 pm

Сообщение sopov »

Проще с помощью natd

в /etc/rc.conf добавить

Код: Выделить всё

defaultrouter 192.168.1.1
natd_enable="YES"
natd_program="/sbin/natd"
natd_interface="192.168.1.2"
firewall_enable="YES"
firewall_type="/etc/firewall.conf"
В /etc/firewall.conf прописать

Код: Выделить всё

ipfw add 100 deny ip from not me to not me via rl0
ipfw add 200 divert 8668 ip from any to any via rl1
в /etc/ppp/ppp.conf

Код: Выделить всё

pppoe-in:   # Метка (индентификатор правил)
  set mtu 1492
  set mru 1492
  allow mode direct
  enable lqr
  set lqrperiod 5
  set timeout 6000
  disable acfcomp protocomp
  deny acfcomp
  # если авторизация из UNIX базы паролей enable pap
  enable chap
  set speed sync
  accept dns
  set ifaddr 192.168.100.254 10.15.89.1-10.15.90.45 255.255.255.255
  set dns 192.168.100.254
#  enable proxy all
  # Номер порта для контроля и пароль
  set server +3000 password
  set radius /etc/radius.conf
  set rad_service_type 11
  # Таймаут для Alive пакетов
  set rad_alive 60


pptp:
  set mtu 1460
  set mru 1460
  allow mode direct
  enable lqr
  set timeout 6000
  disable acfcomp protocomp
  deny acfcomp
  # если авторизация из UNIX базы паролей enable pap
  enable chap
  accept dns
  set ifaddr 192.168.100.254 10.15.89.1-10.15.90.45 255.255.255.255
  set dns 192.168.100.254
  # Номер порта для контроля и пароль
  set server +3000 password
  set radius /etc/radius.conf
  set rad_service_type 11
  # Таймаут для Alive пакетов
  set rad_alive 60
Ну и соответственно в биллинге проставить пул из 10.15.89.1-10.15.90.45

belitfea
Сообщения: 8
Зарегистрирован: Вс янв 28, 2007 7:04 am
Контактная информация:

Сообщение belitfea »

Спасибо за ответ, но всё равно не получилось (

При подключении:

Код: Выделить всё

vpn# ipfw show
00100  619  64814 deny ip from not me to not me via rl0
00200   12    336 divert 8668 ip from any to any via rl1
02000    0      0 pipe 2000 ip from 80.64.93.149 to any via tun0 in
03000   18   1980 pipe 3000 ip from any to any via tun0 in
65535 4181 911192 allow ip from any to any

Код: Выделить всё

vpn# ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet6 fe80::2e0:4dff:fe04:723c%rl0 prefixlen 64 scopeid 0x1
        inet 192.168.100.254 netmask 0xffffff00 broadcast 192.168.100.255
        ether 00:e0:4d:04:72:3c
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet6 fe80::2e0:4dff:fe04:723f%rl1 prefixlen 64 scopeid 0x2
        inet 192.168.100.2 netmask 0xffffff00 broadcast 192.168.100.255
        ether 00:e0:4d:04:72:3f
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1460
        inet6 fe80::2e0:4dff:fe04:723c%tun0 prefixlen 64 scopeid 0x5
        inet 192.168.100.254 --> 10.15.89.219 netmask 0xffffffff
        Opened by PID 826
У клиента:
Сервер 192.168.100.254
Клиент 10.15.89.219

Код: Выделить всё

C:\Documents and Settings\001>ping 217.70.120.18 #ip внешнего dns

Pinging 217.70.120.18 with 32 bytes of data:

Reply from 192.168.100.254: Destination host unreachable.
Reply from 192.168.100.254: Destination host unreachable.
Reply from 192.168.100.254: Destination host unreachable.
Reply from 192.168.100.254: Destination host unreachable.

Ping statistics for 217.70.120.18:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms
Настройки NAS:
id = 1
ip = 127.0.0.1
name = exppp
tupe = exppp:FreeBSD ppp deamon with ex. fu.
Авторизация = SQL
Alive = 60
IP:PORT = 127.0.0.1
Пользователь = пусто #Где и если нада взять имя пользователя для управления
Пароль = #Пароль из /etc/ppp/ppp.conf

Что странно - теперь с маршрутизатора не проходит ping до ADSL модема

Код: Выделить всё

vpn# ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
ping: sendto: No route to host
ping: sendto: No route to host
ping: sendto: No route to host
^C
--- 192.168.1.1 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
Если не трудно, распишите как в теории(и в моём слоучае) всё должно работать

Теоретически как я думаю, пакет от пользователя идёт до маршрутизатора в обёртке tcp с сетью 192.168.100.0/24, на маршрутизаторе оболочка снимается и пакет идёт уже с сетью 10.15.89.0/? Причем приходит он на tun0.
Дальнейшая жизнь пакета остаётся для меня загадкой =)

Понять бы суть всеЙ этой маршрутизации и я сам бы разобрался.

sopov
Сообщения: 610
Зарегистрирован: Вс апр 02, 2006 7:13 pm

Сообщение sopov »

vpn# ipfw show
00100 619 64814 deny ip from not me to not me via rl0 - этим запрещаем прохождение пакетов напрямую из локальной сети без установленног ppp соединения - т.к. rl0 это локалка, а ppp идет через tun интерфейсы

00200 12 336 divert 8668 ip from any to any via rl1 - заворачиваем все пакеты, в нашем случае те, что не попали под правило 100 на порт 8668 (может отличаться) с интерфейса rl1, для котрого в свою очередь defaultrouter 192.168.1.1 - т.е. Ваш модем

02000 0 0 pipe 2000 ip from 80.64.93.149 to any via tun0 in - вот это вобще не понятно - откуда у Вас этот 80.64.93.149 ip ?

03000 18 1980 pipe 3000 ip from any to any via tun0 in - тут все нормально....
65535 4181 911192 allow ip from any to any - Ну это тоже.

C пакетами немного проще - просто при подключении добавляеться запись о статическом маршруте.

Код: Выделить всё

root#netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.1.1        UGS         0 31377743    rl0
10.15.89.88        192.168.10.1       UH          0   388371  tun13
10.15.89.112       192.168.10.1       UH          0    19016  tun23
10.15.89.146       192.168.10.1       UH          0   100472   tun3
10.15.89.234       192.168.10.1       UH          0     2508  tun14
10.15.90.39        192.168.10.1       UH          0     9471  tun15

192.168.10.1 - сетевуха смотрящая в локальную сеть

belitfea
Сообщения: 8
Зарегистрирован: Вс янв 28, 2007 7:04 am
Контактная информация:

Сообщение belitfea »

Спасибо за быстрый ответ )
02000 0 0 pipe 2000 ip from 80.64.93.149 to any via tun0 in - вот это вобще не понятно - откуда у Вас этот 80.64.93.149 ip ?
это ip сервера с дешёвым трафиком
Вроде многое проеснилось ща буду пробовать

sopov
Сообщения: 610
Зарегистрирован: Вс апр 02, 2006 7:13 pm

Сообщение sopov »

А как он туда попал? У Вас канал в инет один, или несколько?
Если только та схема которую Вы описали, то ppp соединение с внешним провайдером должно осуществляться в adsl модеме, также в модеме должен быть поднят нат.

В выводе ipfw -a list должно быть что-то типа этого

Код: Выделить всё

03000     1821      151327 pipe 3000 ip from any to any via tun0 in
03001     2143     2336114 pipe 3001 ip from any to any via tun0 out
03002     2390      129163 pipe 3002 ip from any to any via tun1 in
03003      181      240008 pipe 3003 ip from any to any via tun1 out
03004     9846      536455 pipe 3004 ip from any to any via tun2 in
03005     2400     2529972 pipe 3005 ip from any to any via tun2 out
03006    49060     6754279 pipe 3006 ip from any to any via tun3 in
03007    49874    35490751 pipe 3007 ip from any to any via tun3 out
03010   124442     5437083 pipe 3010 ip from any to any via tun5 in
03011   125654    50331057 pipe 3011 ip from any to any via tun5 out
03016   134808    10897170 pipe 3016 ip from any to any via tun8 in
03017    89138    35286713 pipe 3017 ip from any to any via tun8 out
03026   261934    52094734 pipe 3026 ip from any to any via tun13 in
03027   217885   119191949 pipe 3027 ip from any to any via tun13 out
03028     1624      262051 pipe 3028 ip from any to any via tun14 in
03029     1337      420740 pipe 3029 ip from any to any via tun14 out
03030     7525      800767 pipe 3030 ip from any to any via tun15 in
03031     6843     2711428 pipe 3031 ip from any to any via tun15 out
03036    13439     1590108 pipe 3036 ip from any to any via tun18 in
03037    11735    10201939 pipe 3037 ip from any to any via tun18 out

belitfea
Сообщения: 8
Зарегистрирован: Вс янв 28, 2007 7:04 am
Контактная информация:

Сообщение belitfea »

Канал 1, но это же возможность exppp, делить канал на глобальный локальный трафик и пиринговые сети.

У вас я вижу только глобальный канал со своим тарифом.

add: В модеме нат настроен, но если бы всё на маршрутизаторе было норм то тогда локальный ip модема пинговался, а пинг не проходит к пользователю - реквест тайм аут.

belitfea
Сообщения: 8
Зарегистрирован: Вс янв 28, 2007 7:04 am
Контактная информация:

Сообщение belitfea »

Всё! =) Терь напрямую с открытым ipfw пакеты идут, попробую звернуть всё дело только через tun.

belitfea
Сообщения: 8
Зарегистрирован: Вс янв 28, 2007 7:04 am
Контактная информация:

Сообщение belitfea »

Спасибо sopov за ответы, всё заработало, нужно ставить divert чтобы был после pipe. Также ставить роут у клиентов на дефолт, чтобы роут совпадал с выделенным ip.

belitfea
Сообщения: 8
Зарегистрирован: Вс янв 28, 2007 7:04 am
Контактная информация:

Сообщение belitfea »

Спасибо sopov за ответы, всё заработало, нужно ставить divert чтобы был после pipe. Также ставить роут у клиентов на дефолт, чтобы роут совпадал с выделенным ip.

sopov
Сообщения: 610
Зарегистрирован: Вс апр 02, 2006 7:13 pm

Сообщение sopov »

Да незачто, но диверт нужноставить всетаки до пайпов, а маршрут по умолчанию у клиентов проставляеться автоматом после установки vpn\pppoe подключения. Короче должна получиться такая ситуация - когда клиент не подключен к впн он может открыть тольколокальный сайт, а когда подключен - его пропускает в инет. Можно попробовать сделать например так:

Код: Выделить всё

ipfw add 10 allow ip from any to me via "локальный интерфейс"
ipfw add 20 allow ip from me to any via "локальный интерфейс"
ipfw add 30 divert 8668 ip from any to any via "глобальный интерфейс" 
ipfw add 65534 deny ip from any to any via "локальный интерфейс"
defaultrouter на freebsd должен быть ip твоего модема.
Вседолжно заработать.

bulick08
Сообщения: 23
Зарегистрирован: Сб фев 17, 2007 10:43 am
Контактная информация:

Сообщение bulick08 »

выложите плиз робочий конфиг ipfw

bulick08
Сообщения: 23
Зарегистрирован: Сб фев 17, 2007 10:43 am
Контактная информация:

Сообщение bulick08 »

выложите плиз робочий конфиг ipfw

fjey
Сообщения: 99
Зарегистрирован: Сб дек 29, 2007 5:51 pm

Сообщение fjey »

у меня точ в точ такая же ситуация, но ставлю всё под дебианом.
и файлов ipfw, /etc/rc.conf, /etc/firewall.conf, нету =(
как мне можно реализовать в дебиане тоже самое?

Ответить