Jump to content
Local
l1ght

FreeBSD + mpd5

Recommended Posts

Шановні підкажіть - є така проблемка.

Є тачка з FreeBSD 9.3 x64 

FreeBSD 9.3-RELEASE FreeBSD 9.3-RELEASE #0 r268512: Thu Jul 10 23:44:39 UTC 2014 root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64

На ній підняті фаєр,днс (бінд), дхцп сервер, апач, усе працює нормально, але для певної діагностики потрібно підняти пптп сервер - ну то не в перше для мене, конфіг доволі стандартний в мпд

startup:
        set user admin admin
# configure the console
        set console self 127.0.0.1 5005
        set console open
# configure the web server
        set web self 127.0.0.1 5006
        set web open

default:
        load pptp_server
pptp_server:
        set ippool add pool1 10.10.10.5 10.10.10.250
        create bundle template B1
        set iface disable proxy-arp
        set iface idle 0
        set iface enable tcpmssfix
        set ipcp yes vjcomp
        set ipcp ranges 172.16.1.1 ippool pool1
        set ipcp dns 10.0.0.1 
#Enable Microsoft Point-to-Point encryption (MPPE)
        set bundle enable compression
        set ccp yes mppc
        set mppc yes e40
        set mppc yes e56
        set mppc yes e128
        set mppc yes stateless
        set mppc yes compress
# Create clonable link template named L
        create link template L10 pptp
# Set bundle template to use
        set link action bundle B1
# Multilink adds some overhead, but gives full 1500 MTU
        set link enable multilink
        set link yes acfcomp protocomp
        set link no pap chap eap
        set link enable pap
        set link enable chap
        set link enable chap-msv1
        set link enable chap-msv2
# We reducing link mtu to avoid GRE packet fragmentation.
        set link mtu 1460
        set link keep-alive 10 60

# Configure PPTP and open link
        set pptp self хх.хх.хх.хх
# Allow to accept calls
        set link enable incoming

Проблема в тому, що коли я з'єднуюсь із цим сервером - то вмирає нат, як би то дивно не було. Тобто усі сервіси працюють, маршрутизація працює, а от нат не хоче (ipfw nat). Лікується тільки ребутом системи.

В логах чисто - ядро не перезбирав, усе модулями завантажується.

Підкажіть, куди копати?

Edited by L1ght

Share this post


Link to post
Share on other sites

Я бы для начала упростил и сократил конфиг до минимума, просто чтоб глаза не ломать. Хотя пптп тут прямое отношение вряд-ли имеет.

"Нат перестаёт работать", т. е. до подключения пптп-клиента он кого-то натит (например эзернет или вилан), а после подключения перестаёт их-же натить? Т. е. со внешнего интерфейса пакеты начинают выходить неоттранслированными? Или по каким признаком проблема с натом диагностирована? Можно на конфиг ipfw или вывод list посмотреть, если не очень громоздкий?

Edited by bsdadm

Share this post


Link to post
Share on other sites

nat для твого конекту пропадае ? чи для всіх користувачів? 

Share this post


Link to post
Share on other sites

дивлюся по ipfw show - просто по нат правилам перестають ходити пакети плюс повне падіння трафіку, що проходить через той компьютер.

це відноситься до всіх користувачів, що виходять в інтернет через ту машину - перезавантаження фаєру не допомогає, тільки повний ребут машини.

06000 nat 1 ip from table(10) to not table(9) out xmit igb0
06001 nat 1 ip from any to xx.xx.xx.xa in recv igb0
06002 nat 2 ip from 10.0.1.0/24 to not table(9) out xmit igb0
06003 nat 2 ip from any to xx.xx.xx.xb in recv igb0
06004 nat 3 ip from table(11) to not table(9) out xmit igb0
06005 nat 3 ip from any to xx.xx.xx.xc in recv igb0
06006 nat 4 ip from 10.0.0.0/24 to not table(9) out xmit igb0
06007 nat 4 ip from any to xx.xx.xx.xd in recv igb0
12000 pipe tablearg ip from table(3) to any via vlan20 in
12001 pipe tablearg ip from any to table(4) via vlan20 out
12002 pipe tablearg ip from any to table(4) via vlan21 out
12003 pipe tablearg ip from table(3) to any via vlan21 in
65535 allow ip from any to any

Share this post


Link to post
Share on other sites

Что пишет "sysctl net.inet.ip.forwarding" до и после соединения?

Share this post


Link to post
Share on other sites

Через какой интерфейс устанавливаете пптп-соединение? Он как-то связан с igb0? Адрес 172.16.1.1, указанный в конфиге мпд, попадает в приведённые таблицы файрвола или конфиги ната? А адрес из self хх.хх.хх.хх? Нат сконфигурирован как config ip? IP ната на каких-то интерфейсах имеются?

Можете показать вывод kldstat и ngctl list (или как там его)? Если есть возможность с этим сервером экспериментировать, то желательно в разных стадиях - при работающем нате и при неработающем.

Перезагрузку модуля ipfw или ipfw_nat перед повторным запуском файрвола не пробовали? Или убить экземпляр ната и сконфигурировать заново?

В таблице маршрутизации какие-нибудь хитрости применены или всё по умолчанию? Можете попробовать без set pptp self? С ним какие-то трудности были, но подробностей я уже не помню.

sysctl net.inet.ip.fw.one_pass какое значение имеет? Это весь конфиг ipfw или часть? Я правильно понял, что остановка мпд тоже не возвращает нату работоспособность?

Edited by bsdadm

Share this post


Link to post
Share on other sites

Что пишет "sysctl net.inet.ip.forwarding" до и после соединения?

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

ещё варианты? :)

Share this post


Link to post
Share on other sites

Тогда ещё добавить ipfw count на вход и на выход в нескольких местах на тестовую пару ип-адресов, между которыми запустить пинговалку. Чтоб локализовать в каком месте теряется. Ну и снифером посмотреть, ходит ли что-то и что конкретно.

Share this post


Link to post
Share on other sites

Через какой интерфейс устанавливаете пптп-соединение? Он как-то связан с igb0? Адрес 172.16.1.1, указанный в конфиге мпд, попадает в приведённые таблицы файрвола или конфиги ната? А адрес из self хх.хх.хх.хх? Нат сконфигурирован как config ip? IP ната на каких-то интерфейсах имеются?

Можете показать вывод kldstat и ngctl list (или как там его)? Если есть возможность с этим сервером экспериментировать, то желательно в разных стадиях - при работающем нате и при неработающем.

Перезагрузку модуля ipfw или ipfw_nat перед повторным запуском файрвола не пробовали? Или убить экземпляр ната и сконфигурировать заново?

В таблице маршрутизации какие-нибудь хитрости применены или всё по умолчанию? Можете попробовать без set pptp self? С ним какие-то трудности были, но подробностей я уже не помню.

sysctl net.inet.ip.fw.one_pass какое значение имеет? Это весь конфиг ipfw или часть? Я правильно понял, что остановка мпд тоже не возвращает нату работоспособность?

Да именно через igb0, там висит порядка 5 адресов, на 4 из которых нат, нат конфигурирется так: ipfw nat 1 config ip xx.xx.xx.xx log deny_in.

172.16.1.0/24 есть в 11 таблице - т.е. попадает.

Как сказал выше - тесты только ночью ибо машина в бою.

Или убить экземпляр ната и сконфигурировать заново? - не помогает, как и перезагрузка фаера в целом.

С маршрутизацией всё стандартно - дефолт, да и всё.

без set pptp self - это по идее забиндит все доступные адреса?

net.inet.ip.fw.one_pass=1

Остановка\перезагрузка какого-либо сервиса или фаервола не меняет ситуацию до полного ребута машины.

Share this post


Link to post
Share on other sites

Тогда ещё добавить ipfw count на вход и на выход в нескольких местах на тестовую пару ип-адресов, между которыми запустить пинговалку. Чтоб локализовать в каком месте теряется. Ну и снифером посмотреть, ходит ли что-то и что конкретно.

абонентский трафик приходит - т.к. меняются счетчики на правилах шейпа, вот мне пока больше всего нравится идея с net.inet.ip.forwarding = потому что трафик дальше не идет.

Share this post


Link to post
Share on other sites

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

ещё варианты? :)

Предполагаю, что если в rc.conf отсутствует gateway_enable="YES" и net.inet.ip.forwarding включается только через sysctl.conf, то во время соединения происходит сброс net.inet.ip.forwarding в 0.

в 9.2 с этим точно были проблемы. по поводу 9.3 не знаю.

http://lists.freebsd.org/pipermail/freebsd-net/2013-October/037012.html

Share this post


Link to post
Share on other sites

 

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

ещё варианты? :)

Предполагаю, что если в rc.conf отсутствует gateway_enable="YES" и net.inet.ip.forwarding включается только через sysctl.conf, то во время соединения происходит сброс net.inet.ip.forwarding в 0.

в 9.2 с этим точно были проблемы. по поводу 9.3 не знаю.

http://lists.freebsd.org/pipermail/freebsd-net/2013-October/037012.html

 

да, обычно ставлю gateway_enable="yes", но в этом случае он там отсутствует

#cat /etc/sysctl.conf

net.inet.ip.fw.one_pass=1 
net.inet.ip.fastforwarding=1 
net.inet.tcp.nolocaltimewait=1 
net.inet.ip.portrange.randomized=0
net.inet.ip.dummynet.io_fast=1
net.inet.ip.forwarding=1

Share this post


Link to post
Share on other sites

Предполагаю, что если в rc.conf отсутствует gateway_enable="YES" и net.inet.ip.forwarding включается только через sysctl.conf, то во время соединения происходит сброс net.inet.ip.forwarding в 0.

в 9.2 с этим точно были проблемы. по поводу 9.3 не знаю.

http://lists.freebsd.org/pipermail/freebsd-net/2013-October/037012.html

да, обычно ставлю gateway_enable="yes", но в этом случае он там отсутствует

При таком раскладе вероятность, что это сбрасывающийся форвардинг, стремится к бесконечности. Но тогда как понимать

усі сервіси працюють, маршрутизація працює

? Edited by bsdadm

Share this post


Link to post
Share on other sites

 

Предполагаю, что если в rc.conf отсутствует gateway_enable="YES" и net.inet.ip.forwarding включается только через sysctl.conf, то во время соединения происходит сброс net.inet.ip.forwarding в 0.

в 9.2 с этим точно были проблемы. по поводу 9.3 не знаю.

http://lists.freebsd.org/pipermail/freebsd-net/2013-October/037012.html

да, обычно ставлю gateway_enable="yes", но в этом случае он там отсутствует

При таком раскладе вероятность, что это сбрасывающийся форвардинг, стремится к бесконечности. Но тогда как понимать

усі сервіси працюють, маршрутизація працює

?

 

Да, срасывался форвардинг, ну я почему-то убедил себя, что не работает именно нат, а с форвардингом всё ок, вот и выпалил так "с горяча".

Share this post


Link to post
Share on other sites

 

 

 

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

ещё варианты? :)

Предполагаю, что если в rc.conf отсутствует gateway_enable="YES" и net.inet.ip.forwarding включается только через sysctl.conf, то во время соединения происходит сброс net.inet.ip.forwarding в 0.

в 9.2 с этим точно были проблемы. по поводу 9.3 не знаю.

http://lists.freebsd.org/pipermail/freebsd-net/2013-October/037012.html

да, обычно ставлю gateway_enable="yes", но в этом случае он там отсутствует
#cat /etc/sysctl.conf

net.inet.ip.fw.one_pass=1 
net.inet.ip.fastforwarding=1 
net.inet.tcp.nolocaltimewait=1 
net.inet.ip.portrange.randomized=0
net.inet.ip.dummynet.io_fast=1
net.inet.ip.forwarding=1
И да - оно без gateway_enable в rc.conf иногда отлетает при дауне интерфейса, что с этими вашими рррое/пптп - норма. Edited by nightfly

Share this post


Link to post
Share on other sites

в этом случае при поднятии интерфейса почему-то.

Share this post


Link to post
Share on other sites

Ну добавь просто gateway_enable и сделай рестарт нетворкинга. Должно быть ок. Это для юзеров пптп должен быть, или себе?

Share this post


Link to post
Share on other sites

Ну добавь просто gateway_enable и сделай рестарт нетворкинга. Должно быть ок. Это для юзеров пптп должен быть, или себе?

та то себе просто

Share this post


Link to post
Share on other sites

Ну так взял бы юзерспейсный поптоп - его для себя как раз хватает. И да - он скорее всего тоже будет отстреливать форвардинг, по причине убиения интерфейсов.

 

ЗЫ а мпд - та еще сука :-Р

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Максим97
      что нужно настроить, что бы велся учет переданных данных и снималась абонентская плата в схеме собранной в GNS3?
    • By Amourmort
      Доброго времени суток!
      Был шлюз, настроенный неизвестно когда неизвестным админом. Всё прекрасно работало, интернет людям раздавался, пока не возникла необходимость перейти на другого провайдера.

      У предыдущего провайдера IP шлюзу не выдавался, адрес и шлюз был настроен прямо в rc.conf.
      У нового провайдера PPPoE
      Штатными средствами фряхи у меня поднять соединение не получилось... Вернее, соединение поднималось только вручную, командой /etc/rc.d/ppp start - при перезагрузке соединение автоматически не стартовало.
      Решил использовать утилиту mpd5 для PPPoE. Вот содержимое mpd.conf:
      default: load pppoe_client pppoe_client: # # PPPoE client: only outgoing calls, auto reconnect, # ipcp-negotiated address, one-sided authentication, # default route points on ISP's end # create bundle static B1 # set iface enable nat ##NAT is configured elsewhere set iface route default set ipcp ranges 0.0.0.0/0 0.0.0.0/0 create link static L1 pppoe set link action bundle B1 set auth authname ******** set auth password ******** set link max-redial 0 set link mtu 1492 set link keep-alive 10 60 set pppoe iface igb0 set pppoe service "" open Внёс правки в rc.conf, добавив туда запуск mpd5 и убрав интерфейс igb0. Так же, убрал строку defaultrouter - она была нужна для работы с предыдущим провайдером, с новым резолвер получает данные автоматически.
      Далее, в качестве фаервола используется PF.
      В /etc/pf.conf, к счастью, использованы переменные для конфигурации. Меняю одну переменную ext_if = "igb0" на ext_if = "ng0" и думаю, что дело сделано. Соединение при перезагрузке поднимается, доступ в интернет есть... Довольный собой уехал с объекта домой.
      Вроде бы всё хорошо.
      Но вдруг оказывается, что доступ есть далеко не к каждому сайту. Например, к укр.нет доступ есть. А к bitrix24.ua - нет.
      Пингую с сервака:
       
      ping bitrix24.ua PING bitrix24.ua (18.232.195.40): 56 data bytes ^C --- bitrix24.ua ping statistics --- 26 packets transmitted, 0 packets received, 100.0% packet loss ЧЗН? Спидтест:
       
      speedtest-cli Retrieving speedtest.net configuration... Testing from LIMANET Ltd. (141.105.132.238)... Retrieving speedtest.net server list... Selecting best server based on ping... Hosted by ISP Black Sea (Одесса) [0.43 km]: 5034.671 ms Testing download speed................................................................................ Download: 0.00 Mbit/s Testing upload speed................................................................................................ Upload: 0.00 Mbit/s АААААААААААААААААААА!!!! Что это???
       
      ping korinf-group.com PING korinf-group.com (91.234.33.240): 56 data bytes 64 bytes from 91.234.33.240: icmp_seq=0 ttl=58 time=13.654 ms 64 bytes from 91.234.33.240: icmp_seq=1 ttl=58 time=13.475 ms 64 bytes from 91.234.33.240: icmp_seq=2 ttl=58 time=13.332 ms 64 bytes from 91.234.33.240: icmp_seq=3 ttl=58 time=13.913 ms 64 bytes from 91.234.33.240: icmp_seq=4 ttl=58 time=14.873 ms 64 bytes from 91.234.33.240: icmp_seq=5 ttl=58 time=14.033 ms 64 bytes from 91.234.33.240: icmp_seq=6 ttl=58 time=13.743 ms ^C --- korinf-group.com ping statistics --- 7 packets transmitted, 7 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 13.332/13.860/14.873/0.469 ms ping google.com.ua PING google.com.ua (216.58.215.67): 56 data bytes 64 bytes from 216.58.215.67: icmp_seq=0 ttl=120 time=27.686 ms 64 bytes from 216.58.215.67: icmp_seq=1 ttl=120 time=27.766 ms 64 bytes from 216.58.215.67: icmp_seq=2 ttl=120 time=27.738 ms 64 bytes from 216.58.215.67: icmp_seq=3 ttl=120 time=27.651 ms 64 bytes from 216.58.215.67: icmp_seq=4 ttl=120 time=27.603 ms 64 bytes from 216.58.215.67: icmp_seq=5 ttl=120 time=27.781 ms 64 bytes from 216.58.215.67: icmp_seq=6 ttl=120 time=27.562 ms ^C --- google.com.ua ping statistics --- 7 packets transmitted, 7 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 27.562/27.684/27.781/0.077 ms Как такое может быть? Куда копать?
      При этом, если на компе юзера включить какой-нибудь "впн", с туннелем через Киев или Берлин, доступ к любым сайтам есть, как положено...
    • By Максим97
      После установки FreeBSD на виртуал бокс по инструкции с данного видео, не устанавливается пакет pkg и не могу зайти в режим супер юзера, что делать?
    • By KGroup
      Всем привет!
      Подскажите плиз: Как очистить содержимое всех файлов в каталоге на системе linux без удаления самих файлов?
      Может скрипт какой есть для примера?
       
      зы.
      sudo cat /dev/null > file.txt работает только с одним файлом...
       
    • By a_n_h
      Всем доброго дня!
      в чем разница между созданием vlan:
       
      1-й способ:
      cloned_interfaces="vlan101 vlan102 vlan103 vlan104"
      ifconfig_igb0="up"
      ifconfig_igb1="up"
      ifconfig_igb2="up"
      ifconfig_igb3="up"
      ifconfig_vlan101="vlan 101 vlandev igb0 up"
      ifconfig_vlan102="vlan 102 vlandev igb1 up"
      ifconfig_vlan103="vlan 103 vlandev igb2 up"
      ifconfig_vlan104="vlan 104 vlandev igb3 up"
       
       
      и 2-й способ:
      cloned_interfaces="igb0.101 igb0.102 igb2.103 igb2.104 up"
       
       
×