LINUX.ORG.RU
ФорумAdmin

Объединение сетевых интерфейсов


0

1

Исторически на домашнем серваке три сетевухи eth0 — для интернет провайдера eth1 для рабочей станции и eth2 для wi-fi роутера.

eth1 находится в сегменте 192.168.1.

eth2 находится в сегменте 192.168.2.

Теперь понадобилось объединить локальную сеть в один сегмент. 192.168.1. создав виртуальное сетевое устройство eth_sum вопрос как? Попробовал сделать мост:

brctl addif br0 eth1

brctl addif br0 eth2

ifconfig br0 192.168.1.1

но тогда с клиентов сервер не пингуется. Как быть?

Ответ на: комментарий от MrClon

Файервол полностью опущен. На все цепочки стоит действие разрешить. Br0 точно поднят. Я с мостами никогда дела не имел, поэтому не уверен что решение правильное. В принципе мост не знает про ip адрес и гоняет пакеты внутри сети из eth1 в eth2 не выпуская наружу (в сервер) или как?

DonPedro123
() автор топика
Ответ на: комментарий от DonPedro123

Наоборот. У интерфейсов не должно быть адресов. Адрес у моста.

Или просто настрой роутинг, без всяких мостов. Мультикасты ходить не будут, но это тебе скорей всего и не надо.

echo "net.ipv4.ip_forward=1" >> cat /etc/sysctl.conf
sysctl -p
beastie ★★★★★
()
Ответ на: комментарий от beastie

У интерфейсов адресов нет. А мультикаст нужен.

Поясню причину танцев. Мне надо настроить длна сервер медиатоиб, чтоб он был виден по всей локалке. А он привязывается к конкретному айпишнику или интерфейсу, плюс щироковещает в сети 269.0.0.0 в конкретный интерфейс. Ifenslave - может это поможет ?

DonPedro123
() автор топика
Ответ на: комментарий от DonPedro123

Т.е. самое простое, купить хаб на три гнезда (таких в природе нет конечно), выбросить вторую сетевуху, воткнуть кабели что были в сетевухах в хаб и соеденить хаб со eth1. Но наверняка ведь есть решение без затрат.

DonPedro123
() автор топика
Ответ на: комментарий от DonPedro123

Если я с LAG'ами не путаю, попробуй следующее (/etc/network/interfaces):

iface br0 inet manual
        address 192.168.1.1
        netmask 255.255.255.0
        up ifconfig eth1 0.0.0.0 promisc up
        up ifconfig eth2 0.0.0.0 promisc up
        bridge_ports eth1 eth2
        bridge_std off
        bridge_maxwait 5

beastie ★★★★★
()

ifconfig br0 192.168.1.1

Что, действительно 192.168.1.1 без указания маски (префекса) сети?

mky ★★★★★
()
Ответ на: комментарий от beastie

у меня slackware на сервере ^_^ Но посыл я понял (кажись слака не заточена под бриджи, надо в rc.local прописывать команды).

Заработало, спасибо большое! Варианты моих ошибок:

eth1 не был поднят.

Не была указана опция promisc.

Кстати что это за опция и на сколько важна?

bridge_maxwait 5 — не понял как это скормить утилите brctl

у него есть такое:


setfd           <bridge> <time>         set bridge forward delay
sethello        <bridge> <time>         set hello time
setmaxage       <bridge> <time>         set max message age

DonPedro123
() автор топика
Ответ на: комментарий от DonPedro123

Еще вопрос по iptables:

Если у меня правило относительно айпи адреса, то я оставляю его без изменения. А если фильтрация по интерфейсу то надо использовать модуль -m physdev и фильтровать по ethX а не bd0?

DonPedro123
() автор топика
Ответ на: комментарий от DonPedro123
  1. Самое возможное.
  2. Заставляет интерфейсы принимать пакеты им не адресованные. (Скорей всего не нужно, но «руку в огонь» класть не буду — давно это было, когда я это настраивал ;)
  3. Нету, ну и чёрт с ним.
beastie ★★★★★
()
Ответ на: комментарий от Gordon01

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

mky ★★★★★
()
Ответ на: комментарий от DonPedro123

Добавлю ещё про «ifenslave» — это для настройки агрегации (LAG'ов), с «мостами» не связанно.

beastie ★★★★★
()
Ответ на: комментарий от DonPedro123

bridge_maxwait это не для brctl, а для скрипта, его вызывающего, чтобы тот ждал, когда мост поднимется, точнее просто «спал». Если интерестно, то возмите дебиановский пакет bridge-utils и там будет скрипт ifupdown.sh.

mky ★★★★★
()
Ответ на: комментарий от beastie

Значит, всё таки срача захотелось, раз до systemd добросили ? :-)

posix'овый ifconfig убог по современным меркам, почему добавлять к ifconfig не posix опции кошернее, чем писать отдельную утилиту, управляющее всем? Особенно удобен ″ip route″, который позволяет копи-пастить вывод ″ip route show″ прямо в продолжение команды ″ip route add/ip route del″.

mky ★★★★★
()
Ответ на: комментарий от mky

команда ip у линуксоидов это как редактор vi. 99% ниасиляторы

Gordon01 ★★
()
Ответ на: комментарий от mky

Не, сраться не будем. ;) Я его просто привёл как отличнейший пример «велосипеда велосипедного». (Столкнулся с ним кстати на днях — чуть не родил на месте. Жуть страшная. Но речь не о нём.)

По поводу другого. Согласен, может и удобно, но согласись, что операции эти «одноразовые». Городить ради этого целую новую тулзу — решение спорное.

С исторической точки зрения я это ещё как-то могу (ведь что было? ifconfig, iwconfig, econfig, brconfig, vconfig, ifenslace… а теперь что? ip, ip2, ip3, ip4, ip5… :-/ Шило на мыло), но я просто избалован бсдешным ifconfig, где всё в одном флаконе и с привычным синтаксисом.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 2)
Ответ на: комментарий от beastie

Эта целая новая тулза (ip) появилась как средство управления новым ip-стеком. Когда переписали ip-стек ядра, тогда же и выпустили ip-route2, чтобы можно было устанавливать новые разные флаги, не вводя в ifconfig и route кучу новых опций. И разработка стека ядра и user-space интрефейса управления им была сосредоточена в одном месте. В отличии от systemd, который лепят на ровном месте, без серьёзных потребностей, зато с заметными отклонениями.

но я просто избалован бсдешным ifconfig

Ага, и травмирован setfib :-)

/usr/sbin/setfib 1 /sbin/route delete default

где всё в одном флаконе и с привычным синтаксисом.

ip тоже всё в одном флаконе, разве что убрали настройки 10/100 Мбит full duplex, а про привычный синтаксис спорно. Если не путаю, то в linux'е и bsd опция add у ifconfig значит разное, в Линуксе это исключительно для ipv6, а bsd это синоним alias. Поэтому привычный схожий синтаксис может наоборот ввести в ступор.

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.