Страница 1 из 2
Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-03 19:44:25
Leviafan
Исходные данные
--FreeBSD 8.1
--IP внешний 10.10.3.210
--IP внутренний 10.10.100.1
--IP VPN сервера провайдера 10.10.0.4
--IP Шлюза провайдера 10.10.63.1
Вообщем пров раздает инет по VPN. ПОднял я клиент на фряхе, работает инет.
Иду дальше... Подключаю ноут к серваку, прописываю IP сеть работает, инет не работает.
1) Конфиг IPFW
Код: Выделить всё
#!/bin/sh
FwCMD="/sbin/ipfw"
LanOut="vr0" # внешний интерфейс
LanIn="rl0" # внутренний интерфейс
IpOut="10.10.3.210" # внешний IP адрес машины
IpIn="10.10.100.1" # внутренний IP машины
NetMask="24"
NetIn="10.10.100.0" # Внутренняя сеть
${FwCMD} -f flush
${FwCMD} add check-state
${FwCMD} add divert natd ip from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} any via ${LanOut}
${FwCMD} add allow ip from any to any
2) Ядро собрано с такими опциями
Код: Выделить всё
options NETGRAPH
options NETGRAPH_ETHER
options NETGRAPH_SOCKET
options NETGRAPH_TEE
options IPFIREWALL
options IPDIVERT
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE =10
options DUMMYNET
options IPFIREWALL_DEFAULT_TO_ACCEPT
3) Конфиг MPD5
Код: Выделить всё
startup:
default:
load pptp_client
pptp_client:
create bundle static B1
set iface route default
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
create link static L1 pptp
set link action bundle B1
set auth authname XXXXXXX
set auth password XXXXXXX
set ccp no mpp-e40
set ccp no mpp-e128
set ccp no mpp-stateless
set link max-redial 0
set link mtu 1460
set link keep-alive 20 75
set pptp peer 10.10.0.4
set pptp disable windowing
open
4) /etc/rc.conf
Код: Выделить всё
hostname="server.sata.pp.ua"
ifconfig_rl0="inet 10.10.100.1 netmask 255.255.255.0"
ifconfig_vr0="inet 10.10.3.210 netmask 255.255.252.0"
defaultrouter="10.10.63.1"
mpd_enable="YES"
#DNS NAT IPFW
named_enable="YES"
named_program="/usr/sbin/named"
named_flags="-u bind -c /etc/namedb/named.conf"
inetd_enable="YES"
natd_enable="YES"
natd_interface="vr0"
natd_flags="-m -u"
gateway_enable="YES"
firewall_enable="YES"
firewall_script="/etc/firewall.conf"
Вообщем обобщаю вопрос: как реализовать раздачу инета для компов подключенных по интерфейсу rl0 ?
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-03 20:34:06
snorlov
nat должен работать на ng0
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-09 22:50:48
Leviafan
Вообщем сделал natd_interface="ng0"
Прописал в /etc/firewall.conf
Код: Выделить всё
#!/bin/sh
FwCMD="/sbin/ipfw"
LanOut="ng0"
LanIn="rl1"
IpOut="195.114.7.67"
IpIn="10.10.30.1"
NetMask="24"
NetIn="10.10.30.0"
${FwCMD} -f flush
#${FwCMD} add check-state
${FwCMD} add divert natd ip from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} any via ${LanOut}
Проблемы:
1) Скорость моего инета 100мегабит в UA-IX,
через новоиспеченный сервер тянет только 3-4мегабита по торрентам. Железка старая, но в процессе закачки загрузка проца не больше 20% (766Mhz Celeron +128mb ОЗУ) Что может резать скорость? Витая пара исключается - только 5 метров, аккуратно проложенных.
С роутера Dlink 824Vup тянет 20мегабит, больше не тянет.
2) Не вижу сетку прова с клиенских масдайных компов! 10.10.0.0/22
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-10 16:06:28
Leviafan
Так что никто не сталкивался
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-10 16:12:00
snorlov
Leviafan писал(а):Так что никто не сталкивался
Про скорость не скажу, а про сетку провайдера - надо подымать еще один nat на внешнем интерфейсе (карте)
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-11 10:06:35
Авторитетный аноним.
Робко советую отринуть natd, ибо аттавизм. И перелезть на kernel nat. Он шустрее работает, а описанный конфиг реализуется тремя правилами. У лисяры есть исчерпывающая статья по его настройке.
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-11 10:32:40
Leviafan
а PF подойдет?
И что за статья?
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-11 22:38:29
Leviafan
Вообщем такая тема:
Настроил я с горем пополам Pf и нат на нем вот конфиг с которым на компах подключенных к серваку инет работает
Код: Выделить всё
server# cat /etc/pf.conf_new
int_if="vr1"
ext_if="ng0"
localnet="10.10.30.0/24"
set skip on lo0
set skip on $int_if
scrub in all
nat on $ext_if from $localnet to any -> ($ext_if)
antispoof quick for $ext_if
pass out on $ext_if proto tcp to any keep state
pass out on $ext_if proto udp to any keep state
pass inet proto icmp all
Но все таки эта зараза режет скорость!!! Причем так ровненько - на 1мбайт в сек (~8мегабит) И не туды и не сюды, не меньше не больше! Я уже не знаю за что хвататься. Вот top говорит что
CPU: 0.8% user, 0.0% nice, 54.2% system, 36.2% interrupt, 8.8 idle
Это во время закачки
Помогите пожалуйста!!! Я уже не знаю что мне делать.
Уже и PF ядреный и нат через PF.......
Подключаю к Dlink там сразу подхватывает всех пиров и качает на максимальной для этой железки скорости!!!
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-11 23:43:01
Dog
Должно оно тянуть гораздо лучше. У меня домашний роутер (пень3 500, 768 ОЗУ, 2 сетевухи fxp) тянет мегабит 70-80. NAT на pf, раздача на 3 компа. Правда при полной нагрузке процессор пашет под 100%, в основном за счет interrupt'ов, а еще пришлось хорошенько погуглить на тему тюнинга сетевого стека.
Какая именно фря стоит? uname -a в студию. Неплохо было бы поменять сетевухи, ибо d-link и realtek это конечно хорошо, но не очень. И, как уже было сказано, погуглите "FreeBSD network tuning".
Для того чтобы виделась сетка провайдера у меня поднято 2 NAT'а для интернета и собственно локалки + настройка маршрутизации.
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-12 9:51:09
Leviafan
А чем вам мои сетевухи не нравятся. Работали они на другой машине отлично
Версия Freebsd8.1
И я не пойму неужто в фряхе так все запущено, что то бы добиться скорости выше 8мегабит нужно ковырять все и вся???
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-12 11:28:46
hizel
я больше скажу, в mpd есть встроенный nat
ээ, а в этот ваш UA-IX трафик ведь должен мимо vpn-а валится? там маршруты то сё, не надо дописывать?
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-12 11:40:32
Leviafan
ниче не надо прописывать.
На длинке во всяком случае конфига девственно чиста.
На других провах возможно иначе - например в Киеве есть провы где 100мегатит в уа-ик раздают нахаляву вообще, то там можно и мимо ВПН, У моего прова это все денег стоит, потому мимо биллинга ничего не проходит и соответсвенно все пакеты шлются через VPN
Я вот че думаю. МОжет что бы исключить фактор железа, поставлю ка я себе на компек с 4мя ядрышками и 3мя сетевыми VMware с фряхой и директ конекшен на физические интерфейсы.
Что бы проверить что проблема не в железе, а в софте ??
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-12 11:48:20
hizel
поможет подробный выхлоп лога mpd, я мыслю
у dlink-ов есть рашен vpn\pptp или что то такое. какой тип подключения таки в dlink-е? интересно там можно посмотреть таблицу маршрутизации
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-12 11:53:51
Leviafan
там рашан дуал аксесс, что бы еще и сетку видеть, а не только инет.
Маршрутизации там немаааа.
Тоесть она есть но не настроена, ибо нафиг мне не нужна

) Она не влияет на скорость.
И че там за лог mpd?
После подключения по запросу
tail -f /var/log/mpd.log
кроме как сообщении что соединение установилось ничего не проскакивает, ВВОбще ничего.
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-12 12:29:36
hizel
у меня подозрения, что трафик летит таки не в ту дырку, по dhcp можно давать дополнительные маршруты, может длинк берет, а бзд-я нет
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-12 12:30:20
hizel
traceroute через dlink и через бсд-ю надо засмотреть в сторону UA-IX
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-12 17:44:12
Leviafan
top -S
Код: Выделить всё
last pid: 7574; load averages: 0.70, 0.20, 0.07 up 0+19:55:53 09:49:14
73 processes: 3 running, 54 sleeping, 16 waiting
CPU: 0.9% user, 0.0% nice, 62.9% system, 31.0% interrupt, 5.2% idle
Mem: 15M Active, 58M Inact, 30M Wired, 460K Cache, 21M Buf, 4852K Free
Swap: 223M Total, 223M Free
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
13 root 1 108 - 0K 8K RUN 11:01 55.96% ng_queue
12 root 16 -60 - 0K 128K WAIT 9:12 32.81% intr
11 root 1 171 ki31 0K 8K RUN 19.4H 5.18% idle
7574 root 1 45 0 3684K 1676K RUN 0:01 2.20% top
6638 admin 1 44 0 9428K 3564K select 0:01 0.29% sshd
0 root 7 8 0 0K 48K - 1:32 0.00% kernel
14 root 1 -16 - 0K 8K - 0:59 0.00% yarrow
4 root 1 -8 - 0K 8K - 0:35 0.00% g_down
3 root 1 -8 - 0K 8K - 0:18 0.00% g_up
20 root 1 44 - 0K 8K syncer 0:18 0.00% syncer
1330 root 1 44 0 6080K 2556K select 0:05 0.00% sendmail
2 root 1 -8 - 0K 8K - 0:04 0.00% g_event
537 _pflogd 1 44 0 3532K 1184K bpf 0:04 0.00% pflogd
19 root 1 44 - 0K 8K vlruwt 0:03 0.00% vnlru
21 root 1 -16 - 0K 8K sdflus 0:02 0.00% softdepflush
941 root 1 44 0 3348K 1120K select 0:02 0.00% syslogd
7 root 1 44 - 0K 8K pftm 0:02 0.00% pfpurge
15 root 4 -64 - 0K 32K - 0:01 0.00% usb
9 root 1 44 - 0K 8K psleep 0:01 0.00% pagedaemon
1362 root 1 44 0 3376K 1140K nanslp 0:01 0.00% cron
18 root 1 44 - 0K 8K psleep 0:01 0.00% bufdaemon
5 root 1 -16 - 0K 8K - 0:01 0.00% fdc0
6653 root 1 44 0 4696K 2180K ttyin 0:00 0.00% csh
7496 root 1 44 0 9496K 3912K select 0:00 0.00% mpd5
6633 root 1 44 0 9428K 3592K sbwait 0:00 0.00% sshd
22 root 1 -32 - 0K 8K flowcl 0:00 0.00% flowcleaner
1 root 1 44 0 2912K 320K wait 0:00 0.00% init
1352 smmsp 1 44 0 6080K 2380K pause 0:00 0.00% sendmail
6645 root 1 44 0 4696K 2176K pause 0:00 0.00% csh
771 root 1 76 0 1888K 420K select 0:00 0.00% devd
530 root 1 76 0 3532K 1160K sbwait 0:00 0.00% pflogd
6650 admin 1 45 0 4696K 2184K pause 0:00 0.00% csh
1302 root 1 44 0 6704K 2712K select 0:00 0.00% sshd
6640 admin 1 47 0 4696K 2184K pause 0:00 0.00% csh
1428 root 1 76 0 3348K 964K ttyin 0:00 0.00% getty
1429 root 1 76 0 3348K 964K ttyin 0:00 0.00% getty
1430 root 1 73 0 3348K 964K ttyin 0:00 0.00% getty
1434 root 1 76 0 3348K 964K ttyin 0:00 0.00% getty
1431 root 1 76 0 3348K 964K ttyin 0:00 0.00% getty
1433 root 1 76 0 3348K 964K ttyin 0:00 0.00% getty
1435 root 1 76 0 3348K 964K ttyin 0:00 0.00% getty
1432 root 1 76 0 3348K 964K ttyin 0:00 0.00% getty
6644 admin 1 51 0 3808K 1480K wait 0:00 0.00% su
6652 admin 1 50 0 3808K 1480K wait 0:00 0.00% su
17 root 1 76 ki-6 0K 8K pgzero 0:00 0.00% pagezero
6 root 1 -32 - 0K 8K waitin 0:00 0.00% sctp_iterator
16 root 1 76 - 0K 8K psleep 0:00 0.00% vmdaemon
10 root 1 -16 - 0K 8K audit_ 0:00 0.00% audit
8 root 1 -32 - 0K 8K ccb_sc 0:00 0.00% xpt_thrd
systat -v 1
Код: Выделить всё
2 users Load 0,82 0,34 0,12 12 50
Mem:KB REAL VIRTUAL VN PAGER SWAP PAGER
Tot Share Tot Share Free in out in out
Act 16996 4008 105340 5336 4976 count
All 38348 5624 2218864 11168 pages
Proc: Interrupts
r p d s w Csw Trp Sys Int Sof Flt cow 3102 total
25 4614 7 385 3107 180 zfod 997 clk irq0
ozfod fdc0 irq6
53,7%Sys 38,2%Intr 2,2%User 0,0%Nice 5,9%Idle %ozfod 127 rtc irq8
| | | | | | | | | | | daefr 1016 vr0 irq10
===========================+++++++++++++++++++> prcfr 962 vr1 irq12
13 dtbuf totfr ata0 irq14
Namei Name-cache Dir-cache 7869 desvn react
Calls hits % hits % 6612 numvn pdwak
1953 frevn pdpgs
intrn
Disks ad1 30608 wire
KB/t 0,00 15988 act
tps 0 59652 inact
MB/s 0,00 460 cache
%busy 0 4516 free
21328 buf
Трассировка через сервак
Код: Выделить всё
C:\Users\leviafan>tracert 0day.kiev.ua
Трассировка маршрута к 0day.kiev.ua [195.140.178.83]
с максимальным числом прыжков 30:
1 <1 мс 1 ms <1 мс 10.10.30.1
2 3 ms 2 ms 2 ms 10.10.63.1
3 3 ms 2 ms 2 ms main-gw.realweb.net.ua [195.114.6.1]
4 19 ms 19 ms 29 ms ge1-2-116.dataline.net.ua [91.204.214.101]
5 19 ms 19 ms 18 ms inetcom-10G-gw.ix.net.ua [195.35.65.83]
6 18 ms 18 ms 19 ms route02-ua.fasty.net [86.111.224.21]
7 20 ms 18 ms 18 ms 0day.kiev.ua [195.140.178.83]
Трассировка завершена.
Трассировка через роутер
Код: Выделить всё
C:\Users\leviafan>tracert 0day.kiev.ua
Трассировка маршрута к 0day.kiev.ua [195.140.178.83]
с максимальным числом прыжков 30:
1 <1 мс <1 мс <1 мс 10.10.20.1
2 1 ms 1 ms 1 ms 10.10.63.1
3 1 ms 1 ms 1 ms main-gw.realweb.net.ua [195.114.6.1]
4 18 ms 18 ms 18 ms ge1-2-116.dataline.net.ua [91.204.214.101]
5 17 ms 17 ms 19 ms inetcom-10G-gw.ix.net.ua [195.35.65.83]
6 17 ms 18 ms 17 ms route02-ua.fasty.net [86.111.224.21]
7 17 ms 17 ms 17 ms 0day.kiev.ua [195.140.178.83]
Трассировка завершена.
Называется найти 0 отличий.

Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-12 17:58:35
hizel
чо-то таки не то
см.
и
треть на сетевуху, две трети на vpn :}
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-12 20:06:12
Leviafan
так что делать подскажи пожалуйста!
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-12 20:28:57
hizel
сменить железо или попробовать поллинг, а сетевушки гавно, да
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-12 22:08:24
Leviafan
дык вроде сетевушки как сетевушки

работали на 100%
и железо хоть и древнее но, почему именно 8мегабит, а не 12, не 20... И режет так ровненько...
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-12 23:56:07
Leviafan
вообщем проверил установив на 4х ядернике Vmware и +2 сетевые.
Да действительно проблема у меня в оборудовании.
И сразу появилось 2 вопроса:
Почему у D-link у которого частота процессора в 2 раза меньше моего сервака выдает в 2 раза быстрее скорость
И какая нужна тогда конфига что бы все работало достойно?
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-14 13:11:45
Dog
Ну, дело ведь не только в частоте процессора. Как вы сами определили, проблема в оборудовании - и вероятней всего это сетевушка. Драйверы обеих установленных у вас сетевых карт - и vr, и rl - обслуживают достаточно широкий спектр сетевушных чипов, возможно просто в вашем конкретном случае всплыл какой-то трудноопределяемый драйверный баг, из-за которого система работает некорректно. Такие вещи тяжело отследить, случаются они крайне редко, но иногда все же бывают. Кстати, иногда помогает банальная перестановка плат в другие PCI-слоты.
Идеальным вариантом в данном случае было бы определить, какая именно из сетевух сбоит: последовательно поменять каждую из них на какую-нибудь проверенную, гарантированно рабочую, а потом, выявив шельму, написать в официальную рассылку, расписав разработчикам вашу проблему и выслав свою аппаратно/программную конфигурацию. В таком случае баг может быть устранен - вы поможете разработчикам и остальным пользователям FreeBSD, да и себя избавите от проблемы в дальнейшем.
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-14 16:06:56
Leviafan
Сетевухи обе D-link 520, заменил, проверил на виртуальной машине. Это очень хорошие сетевухи. По сети во всяком случае выдают не меньше 90мегабит.
Re: Шлюз с подключением по VPN и раздача локальным компам
Добавлено: 2010-11-14 16:24:48
Dog
Обе? Странно, почему же они тогда разными драйверами определяются... Можете показать вывод pciconf -lv и vmstat -i?