Jump to content
Калькуляторы

MPD5 + vlan и вынос мозга Не едет трафик дальше браса

Вобщем жил себе нас на freebsd 6.4/mpd5+ng_car и отлично работал. Решили поднять на локальном интерфесе 802.1q вланы и запустить mpd с pppoe в них. Вланы поднялись, клиенты подключаються, а трафика нет :(. Начали проверять, все вроде нормально. Отключили сервер от сети, стали проверять локально. Если mpd запускать просто через адаптер, то все нормально - трафик едет. Вписываем вместо адаптера влан - сессия поднимается, пингую внешний интерфес браса и с него клиента - все ок, а дальше пакеты не бегают. Никто с таким не сталкивался?

Share this post


Link to post
Share on other sites

С 6.4, кажется, на стенде работало, 7.х работает сейчас.

 

ifconfig_vlan100="inet 192.168.x.x/24 vlan 100 vlandev em0"

 

pppoe_server:
    ...
    set pppoe iface vlan100
    ...

 

Может стоит представить свои конфиги?

 

PS ...и, заодно, проверить firewall?

Edited by morom

Share this post


Link to post
Share on other sites

Вопрос лечится ли подземный стук? :)

Могу предположить: было настроено на работу с физической сетевухой, в том числе ipfw/pf/ipf, таблица маршрутизации и пр. потом настройки mpd поменялись, а остальное нет.

 

Share this post


Link to post
Share on other sites

rc.conf

cloned_interfaces="vlan103"
ifconfig_vlan103="vlan 103 vlandev re1"

 

mpd.conf

startup:
        set global enable tcp-wrapper
        set console self 192.168.1.5 5005
        set user admin pass admin
        set console open

default:
        load pppoe_server


pppoe_server:
        create bundle template B_pppoe
        set iface idle 0
        set iface enable tcpmssfix proxy-arp
        set ipcp no vjcomp
        set iface up-script   "/usr/abills/libexec/linkupdown mpd up"
        set iface down-script "/usr/abills/libexec/linkupdown mpd down"
        set ipcp ranges XXX.XXX.XXX.XXX ippool pool1
        set ipcp dns XXX.XXX.XXX.XXX

        create link template L_pppoe pppoe
        set link action bundle B_pppoe
        set link enable peer-as-calling
        set pppoe acname "bras2"
        set pppoe service "*"

        load server_common

        create link template re1 L_pppoe
        set pppoe iface re1
        set link enable incoming

        create link template vlan103 L_pppoe
        set pppoe iface vlan103
        set link enable incoming

server_common:
        set link no pap eap
        set link yes chap-md5
        set link keep-alive 20 60
        set link mtu 1492
        set link enable incoming
        set link no acfcomp protocomp

        load radius

radius:
        set radius config /etc/radius.conf
        set radius retries 3
        set radius timeout 10
        set auth acct-update 300
        set auth enable radius-auth
        set auth enable radius-acct
        set auth disable internal

 

Фаерволы отключаю

pfctl -d

и

ipfw flush

- ситуация таже. Из роутинга работает zebra\ospf. Сегодня поставил mpd 5.4 - проблема остается. Самое интересное, что запускаю trafshow на внешнем интерфейсе наса и пингую с подключеного клиента внешний роутер - чере trafshow видно что пинги идут в обе стороны. Просто мне непонятна зависимость - тунель поднимается в обоих случаях, имя линка в обоих случаях ngXXX. Только напрямую через re1 все работает хорошо, а через vlan103 не очень :( . Идей уже нет - netstat -rn при поднятии линка показывает нормальный роут на интерфейс ng, ospf отдает его кошке, но пингов нет, хотя trafshow показывает обратное. Что-то с роутингом...

 

#security.bsd.see_other_uids=0
net.inet.ip.fw.verbose=1
net.inet.ip.fw.verbose_limit=100
#net.inet.tcp.sendspace=131072
#net.inet.tcp.recvspace=131072
net.inet.tcp.blackhole=2
#net.link.ether.inet.max_age=600
kern.ipc.somaxconn=8192
kern.ipc.maxsockets=204800
#net.inet.tcp.delayed_ack=0
#net.link.ether.inet.max_age=1200
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=1
net.inet.ip.redirect=0
net.inet6.ip6.redirect=0
###
net.inet.ip.intr_queue_maxlen=5000
kern.ipc.maxsockbuf=8388608
net.inet.tcp.sendspace=3217968
net.inet.tcp.recvspace=3217968
####Polling####
kern.polling.enable=1
kern.polling.burst_max=1000
kern.polling.each_burst=50
#kern.polling.idle_poll=1
kern.polling.user_frac=50
net.inet.ip.fastforwarding=1
net.inet.ip.portrange.randomized=0
net.inet.ip.dummynet.hash_size=512
net.inet.ip.dummynet.io_fast=1
net.inet.tcp.nolocaltimewait=1
net.inet.tcp.maxtcptw=40960
net.inet.ip.portrange.first=1024
net.graph.recvspace=256000
net.graph.maxdgram=256000
kern.ipc.nmbclusters=65536

Edited by snn

Share this post


Link to post
Share on other sites

Для ipfw, flush не достаточно, нужно ещё ipfw add 050 allow all from any to any

А mtu 1492 для vlan-а не многовато? Попробуй 1300 для начала.

И ещё, что у тебя в up/down скриптах?

 

Edited by Deac

Share this post


Link to post
Share on other sites

Там политика open, поэтому такое правило изначально присутствует. Скрипты нужны для ipfw dummynet в интервальных тарифах, где применение ng_car неподходит. Сейчас изменил мту на 1300, вычестил sysctl.conf и запретил фаерволы полностью в rc.conf - тоже самое... Непонятно почему когда пингую что нибудь с клиента и пингов нет, а становлюсь trafshow на ngXXX и вижу icmp request\icmp reply.

Share this post


Link to post
Share on other sites

А оно клиенту не в тэговом ли виде приходит?

Если на порту указать pvid, то тэг добавится, а вот если не указать untag, то он потом не уберётся, для PPPoE(l2) это по барабану, а вот для IP(l3) нет.

 

Share this post


Link to post
Share on other sites

По идее нет, во всяком случае на свиче создан влан 103 с теговым и не теговым портами. Унтажед смотрит на клиента. Мистика какаято... Наверное оставлю в покое пока этот нас, попробую сделать тоже самое на другом рабочем насе.

Share this post


Link to post
Share on other sites
Непонятно почему когда пингую что нибудь с клиента и пингов нет, а становлюсь trafshow на ngXXX и вижу icmp request\icmp reply.
Чудес не бывает.

Попробуйте сменить клиента или фаерволл на нем...

используйте tcpdump вместо trafshow

Share this post


Link to post
Share on other sites
set ipcp ranges XXX.XXX.XXX.XXX ippool pool1

в конфиге не нашел, IP радиусом отдаете?

 

мне непонятна зависимость - тунель поднимается в обоих случаях, имя линка в обоих случаях ngXXX. Только напрямую через re1 все работает хорошо, а через vlan103 не очень :(
для роутинга VLAN в общем то ничем не отличается от обычной сетевушки, раз у Вас при поднятии РРРоЕ через сетевушку трафик ходит значит и через VLAN обязано бегать! либо Вы что-то недонастроили либо что-то недоговариваете

 

роут на интерфейс ng, ospf отдает его кошке, но пингов нет
а кот роут видит? если видит то в каком виде?

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
Sign in to follow this