mpd4 +NAT(pf)

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
sith
проходил мимо

mpd4 +NAT(pf)

Непрочитанное сообщение sith » 2008-08-23 16:13:06

Здравствуйте. Хочу раздать интернет локальной сети спомощью mpd4 клиента +

NAT(pf). У меня баян но всеже никак не могу разобраться.

Пересобираю ядро с такими опциями:

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

options	NETGRAPH
options	NETGRAPH_ETHER
options	NETGRAPH_SOCKET
options	NETGRAPH_TEE

device pf
device pflog
device pfsync

options         ALTQ_CBQ        # Class Bases Queuing (CBQ)
options         ALTQ_RED        # Random Early Detection (RED)
options         ALTQ_RIO        # RED In/Out
options         ALTQ_HFSC       # Hierarchical Packet Scheduler (HFSC)
options         ALTQ_PRIQ       # Priority Queuing (PRIQ)
options         ALTQ_NOPCC      # Required for SMP build
Mpd4 конфиги:

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

# configure the console
set console port 5005
set console ip 0.0.0.0
set console user foo bar
set console user foo1 bar1
set console open
# configure the web server
set web port 5006
set web user foo bar
set web open

mpd.conf

default:
load vpn

vpn:
new -i ng0 vpn vpn
set iface disable on-demand
set iface idle 0
set iface route 0/1
set iface enable tcpmssfix

set auth authname "xxx"
set auth password "xxx"
set link yes acfcomp protocomp
set link disable chap pap
set link accept chap pap
set link keep-alive 10 75
set link mtu 1500
set link max-redial 0
set ipcp yes vjcomp

#MS шифрование 
set ccp yes mppc
set ccp yes mpp-e40
set ccp yes mpp-e128
set ccp yes mpp-stateless
set bundle enable compression
set bundle enable crypt-reqd

set bundle disable multilink
set bundle disable noretry 
open
mpd.links:

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

vpn:
set link type pptp
set pptp peer 192.168.0.1 # адрес vpn сервера
set pptp enable originate
set pptp disable incoming windowing
В resolv.conf 2 dns сервера 81.28.160.1, 81.28.160.111

pf.conf:

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

ext_if="ng0" #wal интерфейс
int_if="rl1" #lan интерфейс
internal_net="192.168.1.1/24" #локальная сеть
nat on $ext_if from $internal_net to any -> ($ext_if) # NAT
pass in all
pass out all
rc.conf:

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

gateway_enable="YES"
keymap="ru.koi8-r"
local_startup="/usr/local/etc/rc.d"
nfs_client_enable="YES"
nfs_server_enable="YES"
rpcbind_enable="YES"
saver="daemon"
scrnmap="NO"
sshd_enable="YES"
usbd_enable="YES"
moused_port="/dev/ums0"
moused_type="auto"
moused_enable="YES"
moused_flags="-F 200 -r high -A 1.5,2.0 -a 0.6"
mpd_enable="YES"
pf_enable="YES"
mysql_enable="YES"
hostname=.
network_interfaces="rl0 rl1"
ifconfig_rl0=dhcp
ifconfig_rl1="inet 192.168.1.1 netmask 0xffffff00"
На виндовых компьютерах пишу: ip 192.168.1.2и тд. основной шлюз 192.168.1.1

маска 255.255.255.0 и dns 81.28.160.1, 81.28.160.111 раздача не работает.

p.s. Mpd4 не поднимался посоветовали добавить строчку set iface route 0/1

что я так думаю не есть хорошо для раздачи.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: mpd4 +NAT(pf)

Непрочитанное сообщение paradox » 2008-08-23 17:05:11

у вас какая то каша в конфигах

можете нарисовать вашу топологию
что там и как должно работать ?

sith
проходил мимо

Re: mpd4 +NAT(pf)

Непрочитанное сообщение sith » 2008-08-23 18:14:24

Есть сеть из 5и компьютеров подключенных в свич + подключенный тудаже будущий сервер на FreeBSD. На сервере поднимается VPN спомощью mpd4 клиента. NAT через pf. Хотелось бы раздать VPN на все 5 компьютеров с Win XP.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: mpd4 +NAT(pf)

Непрочитанное сообщение paradox » 2008-08-23 18:32:33

что бы каждый из 5 компов в сети конектился к серверу через vpn
и попадал в инет?

или что бы каждый из 5 компов ходил в инет через сервер бсд который подключен к инету через vpn?

sith
проходил мимо

Re: mpd4 +NAT(pf)

Непрочитанное сообщение sith » 2008-08-23 18:35:20

(c) что бы каждый из 5 компов ходил в инет через сервер бсд который подключен к инету через vpn

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: mpd4 +NAT(pf)

Непрочитанное сообщение paradox » 2008-08-23 18:45:36

ну тогда я так и не понял
vpn на сервер поднялся или нет?
set iface route 0/1
уберите
и покажите лог mpd
конектиться он
или нет
и есть ли тунель после коннекта ngX ?

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

ifconfig -a

sith
проходил мимо

Re: mpd4 +NAT(pf)

Непрочитанное сообщение sith » 2008-08-23 19:05:57

Прямо сейчас я не могу показать логи т.к. сейчас работает сервер на xp и его выключение нежелательно(все жутко заняты и не соглашаются отказваться от интернета=)). Но могу сказать что mpd4 к серверу VPN конектиться нормально и интернет работает(на сервере). После коннекта тунель ng0 соответственно создается.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: mpd4 +NAT(pf)

Непрочитанное сообщение paradox » 2008-08-23 19:10:39

ну тогда нужно включать pflog
делать пинг с локальной мошины какого нить mail.ru
и смотреть где оно отбиваеться
потому как с виду
вроде все в норме

sith
проходил мимо

Re: mpd4 +NAT(pf)

Непрочитанное сообщение sith » 2008-08-23 19:27:20

Я новичек FreeBSD: нимогу понять что делает set iface route 0/1. На mpd3.18 для запуска и остановки использовались скрипты которые настраивали маршруты.
Например для запуска:

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

route delete 85.21.0.15 
route add 85.21.0.15 10.53.0.17 
default_route_old=`route -n get default 2>&1 | grep gateway | awk '{print $2}'`
if [ $default_route_old ]; then
echo $default_route_old > /var/tmp/default_route_old
route -nq change default $4
else
rm -f /var/tmp/default_route_old
route -nq add default $4
fi
Взято с
Я не понимаю эту систему маршрутизации(был бы благодарен если бы кто-нибудь мне обьяснил). Может быть на mpd4 нужно что-то похожее организовать?

sith
проходил мимо

Re: mpd4 +NAT(pf)

Непрочитанное сообщение sith » 2008-08-23 22:07:59

Копал сейчас про маршрутизацию. Понял одно что с виндовых клиентов пакеты маршрутизируются на мой rl1 интерфейс у которого ip 192.168.1.1. Уже с моего rl1 интерфейса их нада перенаправлять на ng0 у которого ip назначает VPN сервер(ip 192.168.0.1). Наверно этот маршрут создается pf строчкой

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

nat on $ext_if from $internal_net to any -> ($ext_if)
Помогите встать на путь истинны=)

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: mpd4 +NAT(pf)

Непрочитанное сообщение paradox » 2008-08-24 0:46:07

посмотрите на

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

netstat -nr
куда там дефоулт

какие их айпи шников сервера пингуються с виндовых компов?

sith
проходил мимо

Re: mpd4 +NAT(pf)

Непрочитанное сообщение sith » 2008-08-26 7:39:13

До соединения mpd4:

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

# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            10.1.130.193       UGS         0       20    rl0              #Назначается dhcp
10.1.130.192/26    link#1             UC          0        0    rl0
10.1.130.193       00:1b:53:88:2e:50  UHLW        2        0    rl0   1196
192.168.1          link#2       
После соединения mpd4 с set iface route 0/1:

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

# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
0/1                62.106.104.1       UGS         0        0    ng0 =>
default            10.1.130.193       UGS         0       49    rl0
10.1.130.192/26    link#1             UC          0        0    rl0
10.1.130.193       00:1b:53:88:2e:50  UHLW        2        0    rl0   1197
62.106.104.1       62.106.105.150     UH          1        0    ng0
192.168.1          link#2             UC          0        0    rl1
Я так понимаю что вместо

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

default 10.1.130.193
желательно увидеть

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

default 62.106.104.1

sith
проходил мимо

Re: mpd4 +NAT(pf)

Непрочитанное сообщение sith » 2008-08-26 12:15:38

С виндовых компов попробывал пинг на 192.168.1.1(мой FreeBSD шлюз) в итоге решил поменять сетевую карту смотрящюю в локальную сеть. Вставил такуюже realtek что и стояла до этого. FreeBSD ее не распознала. Вставляю ту что стояла(и вроде как работала) - он ее не видит тоже! Сетевая карта была распознана до ее извлечения но все равно решил ядро пересобрать и там была строчка device rl. После пересборки ядра отъехала мышь с надписью "не найден файл /dev/ums0" хотя до этого прекрасно работала. Теперь юзаю num pad=/ Я начинаю любить freebsd=)

sith
проходил мимо

Re: mpd4 +NAT(pf)

Непрочитанное сообщение sith » 2008-08-26 14:47:40

Починил мышь 2ой раз пересобрав ядро и скинув в default настройки BIOS=) Сетевую карту она все не видит...

sith
проходил мимо

Re: mpd4 +NAT(pf)

Непрочитанное сообщение sith » 2008-08-26 18:57:56

Хм, проблема с сетевыми картами решилась они просто сгорели в неисправном PCI слоте.

sith
проходил мимо

Re: mpd4 +NAT(pf)

Непрочитанное сообщение sith » 2008-08-27 10:06:17

Я немного отвлекся. Повторю ответ на ваш вопрос:
До соединения mpd4:

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

# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            10.1.130.193       UGS         0       20    rl0              #Назначается dhcp
10.1.130.192/26    link#1             UC          0        0    rl0
10.1.130.193       00:1b:53:88:2e:50  UHLW        2        0    rl0   1196
192.168.1          link#2       
После соединения mpd4 с set iface route 0/1:

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

# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
0/1                62.106.104.1       UGS         0        0    ng0 =>
default            10.1.130.193       UGS         0       49    rl0
10.1.130.192/26    link#1             UC          0        0    rl0
10.1.130.193       00:1b:53:88:2e:50  UHLW        2        0    rl0   1197
62.106.104.1       62.106.105.150     UH          1        0    ng0
192.168.1          link#2             UC          0        0    rl1
Я так понимаю что вместо

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

default 10.1.130.193
желательно увидеть

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

default 62.106.104.1

sith
проходил мимо

Re: mpd4 +NAT(pf)

Непрочитанное сообщение sith » 2008-08-27 10:38:14

Купил новый свич, новые сетевухи: теперь с виндовых компов пингуется(проверял ток на одном 192.168.1.13) но инета на нем нету.

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

# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
0/1                62.106.104.1       UGS         0    93521    ng0 =>
default            10.1.130.193       UGS         0   154989    rl0
10.1.130.192/26    link#1             UC          0        0    rl0
10.1.130.193       00:1b:53:88:2e:50  UHLW        2        0    rl0   1196
62.106.104.1       62.106.104.146     UH          1        0    ng0
192.168.1          link#2             UC          0        0    rl1
192.168.1.13       00:80:48:30:32:5c  UHLW        1        0    rl1    986

sith
проходил мимо

Re: mpd4 +NAT(pf)

Непрочитанное сообщение sith » 2008-08-29 11:57:14

Уже фсю голову сломал. Помогите плз

По dhcp моего интернет провайдера моему интерфейсу смотрящему в инет назначаются такие маршруты(до поднятия VPN):

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

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            10.1.130.193       UGS         0   101998    rl0
10.1.130.192/26    link#1             UC          0        0    rl0
10.1.130.193       00:1b:53:88:2e:50  UHLW        2        0    rl0    985
192.168.1          link#2             UC          0        0    rl1
После подключения VPN(mpd4) со строчкой в mpd.conf set iface route 0/1(что не есть правильно но хоть както работает):

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

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
0/1                62.106.104.1       UGS         0      652    ng0 =>
default            10.1.130.193       UGS         0   156079    rl0
10.1.130.192/26    link#1             UC          0        0    rl0
10.1.130.193       00:1b:53:88:2e:50  UHLW        2        0    rl0    711
62.106.104.1       62.106.106.55      UH          1        0    ng0 # Тут все назначается по разному
192.168.1          link#2             UC          0        0    rl1
Оч долго пытался поменять default gateway на ip vpn сервера (я так понимаю из выше указанной таблицы это 62.106.106.55 хотя он при каждом подключении меняется) различными скриптами например:

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

#!/bin/sh
vpn_ip=62.106.104.1
ip_def_gw=10.1.130.193
/sbin/route delete $vpn_ip
/sbin/route add $vpn_ip $ip_def_gw
/sbin/route delete default
/sbin/route add default -interface ng0
но в любом случае система просто зависала

Как поменять default gateway спомощью mpd чтобы система не висла???

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: mpd4 +NAT(pf)

Непрочитанное сообщение paradox » 2008-08-29 17:01:45

должен быть роут к провайдеру vpn
что бы у вас кольца не получалось
а дефол пусть mpd прописывает
кто ему мешает

sith
проходил мимо

Re: mpd4 +NAT(pf)

Непрочитанное сообщение sith » 2008-09-11 23:10:43

Спс давно уже работаю под mpd ток есть пару траблов:

Ниже стоящие команды я пишу в файл /usr/local/etc/rc.d/aroute.sh

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

netstat –rn # Запоминаем default router
route delete default # Удаляем default router
route add 192.168.0.1 “IP вашего шлюза(тот что запомнили)”
route add 10.0.0.0 -netmask 255.0.0.0 “IP вашего шлюза” # добавляем сети моего провайдера
Хочу чтобы mpd также запускался при загрузке системы ток если пишу в rc.conf то он пытается запускается до настройки маршрутов а если в /usr/local/etc/rc.d/aroute.sh пишет что команда не найдена(пытался: mpd4, /usr/local/etc/rc.d/mpd4 start и тд.)...

Также стоит altq шейп 2 пользователей через pf
Аист: эт мой провайдер
Внешка: ng0 128 kbps
Внутренние ресурсы: 100 mbps

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

ext_if="ng0"
int_if="rl1"
a_ext_if="rl0"
tit="192.168.1.5"
table <private_net> { 10.0.0.0/8 } 
set block-policy return
set skip on lo0 
scrub in all 
# Главная очередь исходящего трафика в локальную сеть 
altq on $int_if cbq bandwidth 100Mb queue { DQ, q_tit, q_sith } # main queue
# Очередь для пользования Аистовскими локальными ресурсами
DQ on $int_if bandwidth 99Mb priority 3 cbq(default red) 
# Очереди для пользователей в локальной сети (borrow – использование неиспользованного канала других очередей, red – механизм предотвращения перегрузки канала)
queue q_tit bandwidth 20Kb priority 5 cbq(borrow red) # child queues 
queue q_sith bandwidth 104Kb priority 5 cbq(borrow red) 
nat on $ext_if from $int_if:network to any -> ($ext_if) 
nat on $a_ext_if from $int_if:network to any -> ($a_ext_if)
# Пропускаем все пакеты идущие в локальную сеть от не локальных ресурсов Аиста к пользователю tit используя очередь q_tit
pass out on $int_if from ! <private_net> to $tit queue q_tit
pass out on $int_if from ! <private_net> to $sith queue q_sith
Мне нужно чтобы оба пользователя лазили со скоростью 100мб по локальным ресурсам а во внешку tit был урезан до 20кб. Это работоспособный конфиг(просто иногда если кто-то качает bittorrent на скорости 10 мб интернет подвисает)?