Anonymous

Howto: Роутер для Корбины на базе FreeBSD или OpenBSD

Рекомендованные сообщения

Для выхода в инет через Корбину есть только одна новая проблема: шлюз всё время меняется и его нельзя вбить статически в файл настроек pf
м... а чем просто (tun0:peer) не устраивает ?

 

 

... pf при загрузке увидев интерфейс tun0 в правилах сразу откажется работать, так как туннель еще не создан. Решение из той же ссылки - создадим ненастроенные интерфейсы при загрузке. Для этого я придумал сделать так:
если мне мой склероз не изменяет, то в OpenBSD для этого (и не только) придумали /etc/hostname.if

 

 

Теперь мы поставим pptp программу для управления пересылкой данных в туннеле. Для этого нельзя скачать какую-нибудь версию из сети
ftp://ftp.chg.ru/pub/OpenBSD/4.1/packages.../pptp-1.7.1.tgz (hint: ftp://ftp.chg.ru/pub/OpenBSD это гораздо более быстрое в наших широтах зеркало официального ftp)
, так как все новые версии похоже идут только под Линукс.
1.7.1 это последняя (stable) версия pptpclient.
Они даже не компилируются, а после исправления кода так, что изменений быть не должно они куомпилируются, то жестоко не работают.

....

Ставить pptp мы будем из портов.

:lol:
Там поставится старая версия
да в общем-то та же самая 1.7.1.
Кроме того нельзя скачать mpd, который тут так рекламируют. Он не будет компилироваться под OpenBSD.
что в общем-то неудивительно. Ну нет в OpenBSD такой штуки как netgraph.
А встроенный isakmpd, который
ничего общего (кроме последних трех букв в названии) с mpd не имеет.

 

Для этого залезем в /etc/rc.conf с помощью vi /etc/rc.conf
рекомендуется (начиная с 4.1 - настоятельно) изменения вносить в /etc/rc.conf.local

 

ps: просьба не обижаться на критику - статья хорошая и многим будет полезной, а объем проделаной работы по донесению ценных знаний до широких масс заслуживает всяческого уважения :) но всегда есть то, что можно улучшить ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ps: просьба не обижаться на критику - статья хорошая и многим будет полезной, а объем проделаной работы по донесению ценных знаний до широких масс заслуживает всяческого уважения ;) но всегда есть то, что можно улучшить ;)

Большое спасибо и за ответ, и за критику. Естественно ляпов я наделал много. Кое-что я додумывал, кое-где не знал как сделать красиво и делал топорно-криво. Собственно азы роутинга и организацию VPN я изучал в процессе написания приведённого выше текста. Текст написал, так как никому не пожелаю идти моим путём еще раз.

Исправленную версию я выделил в отдельную тему, так как не все дочитают до 3 страницы в этой теме. Исправил не всё, а то, что смог понять и протестировать сам.

Изменено пользователем =Zap=

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Egor PR

Всем привет!

 

Ищется специалист, кто настроит сабж.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2 Egor PR

FreeBSD или OpenBSD ?

Изменено пользователем AndreySh

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Гость Egor PR

2 Egor PR

FreeBSD или OpenBSD ?

 

Не знаю, что выбрать :angry: Как определиться?

 

В любом случае, мне нужно, чтобы был прозрачный доступ в инет, работали DC++, торрент и сервисы Корбины. 3 клиента.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не знаю, что выбрать ;) Как определиться?

 

Имхо из этих двух - FreeBSD.

 

Пошли спрашивать далее ;)

Город, район, платно/бесплатно и т.п.

 

Касаемо меня - консультации ( ася, личка ) - не влом и бесплатно.

Если поставить, настроить - то .... :) Контакты в профайле

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не знаю, что выбрать :( Как определиться?

 

В любом случае, мне нужно, чтобы был прозрачный доступ в инет, работали DC++, торрент и сервисы Корбины. 3 клиента.

Это всё делается и на OpenBSD.

Единственная проблема (назависимо от операционки): 3 DC++ будут работать в пассивном режиме. Один можно перевести в активный режим, перебросив порты. Можно ли так сделать и с остальными я не знаю. Надо изучать сетевую организацию DC++.

 

В любом случае консультации дам бесплатно.

Аська есть в контактах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это всё делается и на OpenBSD.

 

А mpd там есть? Или все тот же глючный и тормозной pptp-client ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А mpd там есть? Или все тот же глючный и тормозной pptp-client ?

Всё тот же pptp. А он глючный и тормозной?

Касательно глючности - не замечал проблем при месяце использования. Среднее время соединения около 30 часов.

Насчёт тормознутости - не знаю как её определить. Но проблем опять же не испытывал.

Изменено пользователем =Zap=

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Насчёт тормознутости - не знаю как её определить. Но проблем опять же не испытывал.

 

A скорость vpn канала какая ? У меня 100 Mbs и pptp-client не может ее обработать. А для mpd это не проблема при почти нулевой загрузке проца.

Опять же mpd поддерживает как pptp так и l2tp. При необходимости он и натить может.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

у pptp действительно есть проблема, больше 80 мбит не получается, а вот мпд легко 100 и больше дает. Проблем в работе не наблюдал ни разу

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

народ не стартуют апавые скрипты после переха на 7-ку кто знает что делать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

апавые скрипты - что это ? :rofl:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

вот вообщем конфиги

mpd.conf


startup:
default:
	load vpn


vpn:
	new -i ng0 vpn vpn
	set iface idle 0
	set iface disable on-demand
	set iface route default
	set bundle disable multilink
	set bundle disable compression
	set bundle disable crypt-reqd
	set auth authname логин
	set auth password пароль
	set iface up-script /usr/local/etc/mpd4/io-up.sh   
	set iface down-script /usr/local/etc/mpd4/io-down.sh
	set link keep-alive 60 180
	set link disable pap
	set link accept chap-md5
	set link disable chap-msv1
	set link disable chap-msv2
	set link disable pap
	set link yes acfcomp protocomp
	set ipcp yes vjcomp
	set link mtu 1460
	set ipcp ranges 0/0 172.1.1.1
	open

 

mpd.links

 

vpn:
	set link type pptp
	set pptp peer 85.21.0.15
	set pptp enable originate
	set pptp disable delayed-ack
	set pptp disable windowing

 

io-up.sh

 

#!/bin/sh
GATEWAY='10.197.80.1'
/sbin/route delete 85.21.0.15
/sbin/route add 85.21.0.15 $GATEWAY
/sbin/route delete default
/sbin/route add default 172.1.1.1
/sbin/natd -u -s -m -p 8669 -n ng0 -P /var/run/natd2.pid
/sbin/ipfw delete 80
/sbin/ipfw delete 90
/sbin/ipfw add 80 deny ip from 10.197.0.0/16 to any via ng0
/sbin/ipfw add 90 divert 8669 ip from any to any via ng0

 

io-down.sh

#!/bin/sh
/sbin/ipfw delete 80
/sbin/ipfw delete 90
/sbin/route delete 85.21.0.15
/sbin/route delete default
/sbin/route add default 10.197.80.1
/bin/kill -3 `cat /var/run/natd2.pid`

 

отчётливо видно что у меня упоминание о скрипте есть в конфиге но вот почему он не стартует не понять

 

set iface up-script /usr/local/etc/mpd4/io-up.sh

set iface down-script /usr/local/etc/mpd4/io-down.sh

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

A скорость vpn канала какая ? У меня 100 Mbs и pptp-client не может ее обработать. А для mpd это не проблема при почти нулевой загрузке проца.

Опять же mpd поддерживает как pptp так и l2tp. При необходимости он и натить может.

Скорость не проверял.

Глюки обнаружил. pptp виснет и запускает копию себя. При этом такие зависшие процессы могут накапливаться.

Может можно перейти на l2tp? Тогда и минусы исчезнут? Ведь у OpenBSD и плюсы есть по сетевой части...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день, уважаемые.

Переподключился в корбину из NetByNet, адаптировал настройки на моем freebsd-сервере под местные условия. Но обнаружил одну досадную неприятность.

 

Инет роутер получает с помощью mpd и раздает его во внутреннюю сеть в составе ноутбука и компа через PF.

Все работает (спасибо местным темам), но есть одно но, некоторые сайты, например, злосчастные одноклассники.ру не хотят открываться внутри сети. Т.е. они пингуются, даже начинается соединение, но на этом все и заканчивается - получаем несколько байт и все... висим..

 

С сервера пробовал открывать links-ом все нормально.

 

Не было ни у кого таких проблем?

 

мда, че-то парился два дня, а как тему тут написал, так сразу все разрешилось...

все дело было в MTU на клиенте. Выставил в 1460 и все стало ок.

Изменено пользователем Midnight Sun

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день, уважаемые.

Переподключился в корбину из NetByNet, адаптировал настройки на моем freebsd-сервере под местные условия. Но обнаружил одну досадную неприятность.

 

Инет роутер получает с помощью mpd и раздает его во внутреннюю сеть в составе ноутбука и компа через PF.

Все работает (спасибо местным темам), но есть одно но, некоторые сайты, например, злосчастные одноклассники.ру не хотят открываться внутри сети. Т.е. они пингуются, даже начинается соединение, но на этом все и заканчивается - получаем несколько байт и все... висим..

 

С сервера пробовал открывать links-ом все нормально.

 

Не было ни у кого таких проблем?

 

мда, че-то парился два дня, а как тему тут написал, так сразу все разрешилось...

все дело было в MTU на клиенте. Выставил в 1460 и все стало ок.

 

U menya mtu 1460 i toze samoe chto i u tebya, vse ravno ne oktrivayutsya odnoklassniki , ves mail.ru tormozit i t.d.

MTU na kliente eto ti chto imeesh v vidu ? na freebsd cliente mpd ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добрый день, уважаемые.

Все работает (спасибо местным темам), но есть одно но, некоторые сайты, например, злосчастные одноклассники.ру не хотят открываться внутри сети. Т.е. они пингуются, даже начинается соединение, но на этом все и заканчивается - получаем несколько байт и все... висим..

Не было ни у кого таких проблем?

 

Данная проблема решается с помощью одной строчки в mpd.conf:

set iface enable tcpmssfix

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И все таки, можно ли как то заставить monowall работать так, что бы он и локалку видел и впн поднимал?

у кого-нить вообще m0n0wall работает с корбиной ? максимум что я сейчас получаю - это внешний адрес, ДНСы и гейтэвей на WAN порту, но при этом локалка корбины не пингуется да же с интерфейса роутера ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хватит извращаться ставьте FreeBSD + MPD и всё будет хорошо, конфиги давно везде есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

мои требования к роутеру :

 

получение адреса по DHCP

возможность поднятия инета как с роутера так и сквозь него с компов в сети (аля ppp pass throught как в ADSL модемах Zyxel)

NAT

FTP

Proxy клиент и сервер (каскадный короче)

Web GUI (очень желательно)

ручная корректировка ширины канала для сегмента LAN (типо шейпинг)

графики использования памяти, процессора, передаваемых и получаемых данных

 

и естественно максимальная скорость между интерфесами (машина 900 мгц селерончик, 256 сд-рам памяти, десятка винт)

 

POPKA, у тебя есть на примете howto полностью готовый под мои задачи ? если так - я впринципе готов убить несколько дней на установку ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

мои требования к роутеру :

 

получение адреса по DHCP

возможность поднятия инета как с роутера так и сквозь него с компов в сети (аля ppp pass throught как в ADSL модемах Zyxel)

NAT

FTP

Proxy клиент и сервер (каскадный короче)

Web GUI (очень желательно)

ручная корректировка ширины канала для сегмента LAN (типо шейпинг)

графики использования памяти, процессора, передаваемых и получаемых данных

 

и естественно максимальная скорость между интерфесами (машина 900 мгц селерончик, 256 сд-рам памяти, десятка винт)

 

POPKA, у тебя есть на примете howto полностью готовый под мои задачи ? если так - я впринципе готов убить несколько дней на установку ...

 

я хочу сказать что всё что ты перечислил будет работать и на машине с протцом и 300 мгц. Прочтите вот это пожалуйста я уверяю Вас Вы потратите не более 2-х часов и всё станет ясно и понятно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

смотрел вроде глазами, никаких хау-ту там не нашел ...

описалово фряхи это конечно интересно, не спорю, но мне нужно готовое решение которое можно поставить и юзать, а потом постипенно разбираться в его устройстве ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

смотрел вроде глазами, никаких хау-ту там не нашел ...

описалово фряхи это конечно интересно, не спорю, но мне нужно готовое решение которое можно поставить и юзать, а потом постипенно разбираться в его устройстве ...

 

 

если не ошибаюсь готовое решение это роутер производства компании делинк DI-524. Установите фрю, потом соберите ядро с поддержкой нат, я так понял вам нужна ещё и прокся тогда это СКВИД впн клиент это по мне лучше mpd, веб сервер это апачь, имеется встроенный фтп сервер можно и поставить что-то другое я лично использую профтп, графики и таблицы строить это по мне лично MRTG. Лично могу помочь с конфигами, поставить за вас не смогу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

если не ошибаюсь готовое решение это роутер производства компании делинк DI-524.

хорошая шутка, но ни один бюджетный роутер не выдаст и 50 мегабит на WAN'е ...

Установите фрю, потом соберите ядро с поддержкой нат, я так понял вам нужна ещё и прокся тогда это СКВИД впн клиент это по мне лучше mpd, веб сервер это апачь, имеется встроенный фтп сервер можно и поставить что-то другое я лично использую профтп, графики и таблицы строить это по мне лично MRTG. Лично могу помочь с конфигами, поставить за вас не смогу.

POPKA, я готов разбираться, за конфиги буду благодарен, но трабл в том что фраза "соберите ядро с поддержкой нат" уже вводит меня в ступор

мне непременно нужен человек висящий на ICQ и готовый рассказывать что куда нажать и отвечать на мои нубские вопросы по установке ...

пока что из никсов у меня стоит только федора 6 на которую был впихнут CS-сервер, так что опыт у меня совсем никакой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

хорошая шутка, но ни один бюджетный роутер не выдаст и 50 мегабит на WAN'е ...

 

POPKA, я готов разбираться, за конфиги буду благодарен, но трабл в том что фраза "соберите ядро с поддержкой нат" уже вводит меня в ступор

мне непременно нужен человек висящий на ICQ и готовый рассказывать что куда нажать и отвечать на мои нубские вопросы по установке ...

пока что из никсов у меня стоит только федора 6 на которую был впихнут CS-сервер, так что опыт у меня совсем никакой.

так я же в предыдущим посте скинул ссылку на хендбук где написано как собрать ядро. Ладно я вешу в ася, ася в личке, поставте для начала фрю

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

предполагаю что мой вопрос про m0n0wall закрыт - давеча заставил его прогонять через себя локалку (70 мегабит выдает да же на самых стремных сетевухах)

спасибо откликнувшимся

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пропадает соеденение примерно каждые полтора часа пока лечу reboot'ом

 

ОС OpenBSD 4.4

pptp-1.7.1p0

 

/etc/ppp/ppp.conf

default:
 set log Phase Chat LCP IPCP CCP tun command
 disable ipv6cp
corbina:
 set device /dev/tun0
 set device "!/usr/local/sbin/pptp vpn.spb.corbina.net --nolaunchpppd --loglevel 0 --nobuffer --logstring pptp"
 set timeout 0
 set authname *****
 set authkey *****
 set ifaddr 0 0
 add! default HISADDR

 

 

test_corbina

#!/bin/sh

testip=81.19.70.3
testip2=213.180.204.8

kol=$(/sbin/ping -c 4 -w 2 $testip | grep "received" | awk '{print $4}')
 if [ $kol == 0 ]
  then
	  kol2=$(/sbin/ping -c 4 -w 2 $testip2 | grep "received" | awk '{print $4}')
	  if [ $kol2 = 0 ]
		   then
				route delete 0.0.0.0/25
				route delete vpn.spb.corbina.net
				echo `date`"::!!!" >>/var/log/testping.log
				kill $(pgrep ppp)
				kill $(pgrep pptp)
				kill `cat /var/run/tun0.pid`
				ifconfig rl0 down
				sleep 2
				ifconfig rl0 up
				sh /etc/netstart rl0
				route add vpn.spb.corbina.net 10.122.144.1
				ppp -ddial corbina
				sleep 10
				if [ $(/sbin/ping -c 4 -w 2 $testip | grep "received" | awk '{print $4}') == 0 ]
				   then
					 reboot
				fi
				echo `date`":: conect  !" >>/var/log/testping.log
				pfctl -f /etc/pf.conf
	  fi
  fi

 

# crontab -l
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin

* *   *   *   *  test_corbina

 

/var/log/testping.log

Tue Jan 20 15:46:32 MST 2009::!!!
Tue Jan 20 15:53:18 MST 2009 :: reboot complete
Tue Jan 20 16:36:32 MST 2009::!!!
Tue Jan 20 16:43:18 MST 2009 :: reboot complete
Tue Jan 20 17:10:11 MST 2009::!!!
Tue Jan 20 17:11:40 MST 2009 :: reboot complete
Tue Jan 20 17:36:31 MST 2009::!!!
Tue Jan 20 17:37:53 MST 2009 :: reboot complete
Tue Jan 20 17:38:11 MST 2009::!!!
Tue Jan 20 17:39:41 MST 2009 :: reboot complete
Tue Jan 20 17:40:11 MST 2009::!!!
Tue Jan 20 17:41:41 MST 2009 :: reboot complete
Tue Jan 20 17:42:11 MST 2009::!!!
Tue Jan 20 17:43:41 MST 2009 :: reboot complete
Tue Jan 20 18:45:31 MST 2009::!!!
Tue Jan 20 18:49:18 MST 2009 :: reboot complete
Tue Jan 20 18:57:51 MST 2009::!!!
Tue Jan 20 18:59:06 MST 2009 :: reboot complete
Tue Jan 20 20:00:22 MST 2009::!!!
Tue Jan 20 20:02:12 MST 2009 :: reboot complete
Tue Jan 20 23:19:11 MST 2009::!!!
Tue Jan 20 23:20:42 MST 2009 :: reboot complete
Wed Jan 21 00:26:12 MST 2009::!!!
Wed Jan 21 00:27:48 MST 2009 :: reboot complete

PS в Unix Like системах ЧАЙНИК

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Пропадает соеденение примерно каждые полтора часа пока лечу reboot'ом

 

ОС OpenBSD 4.4

pptp-1.7.1p0

 

/etc/ppp/ppp.conf

default:
 set log Phase Chat LCP IPCP CCP tun command
 disable ipv6cp
corbina:
 set device /dev/tun0
 set device "!/usr/local/sbin/pptp vpn.spb.corbina.net --nolaunchpppd --loglevel 0 --nobuffer --logstring pptp"
 set timeout 0
 set authname *****
 set authkey *****
 set ifaddr 0 0
 add! default HISADDR

 

 

test_corbina

#!/bin/sh

testip=81.19.70.3
testip2=213.180.204.8

kol=$(/sbin/ping -c 4 -w 2 $testip | grep "received" | awk '{print $4}')
 if [ $kol == 0 ]
  then
	  kol2=$(/sbin/ping -c 4 -w 2 $testip2 | grep "received" | awk '{print $4}')
	  if [ $kol2 = 0 ]
		   then
				route delete 0.0.0.0/25
				route delete vpn.spb.corbina.net
				echo `date`"::!!!" >>/var/log/testping.log
				kill $(pgrep ppp)
				kill $(pgrep pptp)
				kill `cat /var/run/tun0.pid`
				ifconfig rl0 down
				sleep 2
				ifconfig rl0 up
				sh /etc/netstart rl0
				route add vpn.spb.corbina.net 10.122.144.1
				ppp -ddial corbina
				sleep 10
				if [ $(/sbin/ping -c 4 -w 2 $testip | grep "received" | awk '{print $4}') == 0 ]
				   then
					 reboot
				fi
				echo `date`":: conect  !" >>/var/log/testping.log
				pfctl -f /etc/pf.conf
	  fi
  fi

 

# crontab -l
SHELL=/bin/sh
PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin

* *   *   *   *  test_corbina

 

/var/log/testping.log

Tue Jan 20 15:46:32 MST 2009::!!!
Tue Jan 20 15:53:18 MST 2009 :: reboot complete
Tue Jan 20 16:36:32 MST 2009::!!!
Tue Jan 20 16:43:18 MST 2009 :: reboot complete
Tue Jan 20 17:10:11 MST 2009::!!!
Tue Jan 20 17:11:40 MST 2009 :: reboot complete
Tue Jan 20 17:36:31 MST 2009::!!!
Tue Jan 20 17:37:53 MST 2009 :: reboot complete
Tue Jan 20 17:38:11 MST 2009::!!!
Tue Jan 20 17:39:41 MST 2009 :: reboot complete
Tue Jan 20 17:40:11 MST 2009::!!!
Tue Jan 20 17:41:41 MST 2009 :: reboot complete
Tue Jan 20 17:42:11 MST 2009::!!!
Tue Jan 20 17:43:41 MST 2009 :: reboot complete
Tue Jan 20 18:45:31 MST 2009::!!!
Tue Jan 20 18:49:18 MST 2009 :: reboot complete
Tue Jan 20 18:57:51 MST 2009::!!!
Tue Jan 20 18:59:06 MST 2009 :: reboot complete
Tue Jan 20 20:00:22 MST 2009::!!!
Tue Jan 20 20:02:12 MST 2009 :: reboot complete
Tue Jan 20 23:19:11 MST 2009::!!!
Tue Jan 20 23:20:42 MST 2009 :: reboot complete
Wed Jan 21 00:26:12 MST 2009::!!!
Wed Jan 21 00:27:48 MST 2009 :: reboot complete

PS в Unix Like системах ЧАЙНИК

 

 

Логов нету?

 

persist в options присутствует?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас