The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Debian выдает в сеть адрес не той сетевой карты"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / Linux)
Изначальное сообщение [ Отслеживать ]

"Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от lucky89 email(ok) on 28-Авг-12, 15:24 
Здравствуйте!
Есть сеть построенная только на свичах, маршрутизаторов вообще нет, провайдер в ней раздает все настройки от DHCP. Есть в ней мой сервер, получающий инет от провайдера по 1 сетевухе и раздающий его в ту же сеть по 2 сетевухе. У моих пользователей я просто ввожу статические настройки, чтобы они пользовались инетом через меня и им не мешал DHCP нашего провайдера.
Обе сетевухи моего сервера физически смотря в одну и ту же сеть (в тот же ситч), логически дети 2, 1 провайдеровская (DHCP) и я в не же статическими ип сделал свою сеть.
Все работает отлично, но есть неприятный момент, от которого я и хочу избавиться.
Прихожу к пользователю, пишу у него arp -a и вижу, что около его основного шлюза, то есть ипа моего сервера отображается то мак моей 1 сетевухи, то мак 2 сетевухи. Соответственно в те моменты, когда мак определяется не верный инета нет. Эту проблему я решил скинув каждому пользователю батник в автозагрузку со строкой arp -s 192.168.102.102 00-1d-60-7b-e5-26
Все прекрасно, но не удобно. Пользователей стало много, файлик они теряют, мне приходится к ним бегать.
Подскажите, как сделать так, чтобы мак сам всегда определялся правильный и тогда отпала бы необходимость в этом файле.
Менять архитектуру сети не предлагать - разделить сети в моих условиях к сожалению не возможно(

Мне приходил от человека вот такой ответ:

net.ipv4.conf.all.arp_filter = 0

Включает/выключает связывание IP-адреса с ARP-адресом. Если эта опция
включена, то ответ будет передаваться через тот интерфейс, через который
поступил запрос. В принципе, было бы не плохо, если бы ответы исходили
через тот же интерфейс, через который был получен запрос, однако, в
отдельных случаях, это может стать причиной ошибок. Обычно включение
этой опции необходимо только в том случае, если на вашем хосте
производится управление распределением нагрузки между сетевыми
интерфейсами. Значение по-умолчанию  0 (выключено), поскольку эта опция
идет немного вразрез с современным пониманием принципов IP-адресации.
Ранее IP-адреса рассматривались как путь к некоторому устройству, в
смысле аппаратуры, теперь же их следует рассматривать как отдельную
службу доставки, которая должна выдавать ответы на запросы вне
зависимости от того на какой интерфейс эти запросы были получены.
Дополнительную информацию по данной тематике вы найдете в Guide to IP
Layer Network Administration with Linux.

Тут я не понял где вводить эту команду, терминал мне отвечает, что она не найдена. Это переменная ядра Линукса, по идее ее же можно хоть где прописать.

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

В общем даже не представляю, что нужно докрутить на сервере, чтобы стало все по человечески. Помогите, пожалуйста!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от 0x21h (ok) on 28-Авг-12, 21:00 
1) Посмотрите конфигу dhcpd найдите там привязку к определенной карте.

2) net.ipv4.conf.all.arp_filter = 0 это параметр ядра, управляется через команду sysctl
Правите файлик /etc/sysctl.conf, потом sysctl -p /etc/sysctl.conf. Но вам это не нужно, т.к читайте пункт 1, он решит проблему

3) Реорганизуйте срочно вашу сеть. Разделите сети провайдера и вашу, иначе однажды к вам придет провайдер и попросит это сделать в менее вежливой форме. Провайдеру ваши броадкасты и вирусная активность не к чему. Если свичи управляемые, почитайте про vlan.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от lucky89 email(ok) on 29-Авг-12, 00:25 
> 1) Посмотрите конфигу dhcpd найдите там привязку к определенной карте.

К нему доступа нет и не будет, так как он не мой а провайдера. Физический доступ есть, но пароля мне никто не скажет.

> 2) net.ipv4.conf.all.arp_filter = 0 это параметр ядра, управляется через команду sysctl
> Правите файлик /etc/sysctl.conf, потом sysctl -p /etc/sysctl.conf. Но вам это не нужно,
> т.к читайте пункт 1, он решит проблему
> 3) Реорганизуйте срочно вашу сеть. Разделите сети провайдера и вашу, иначе однажды
> к вам придет провайдер и попросит это сделать в менее вежливой
> форме. Провайдеру ваши броадкасты и вирусная активность не к чему. Если
> свичи управляемые, почитайте про vlan.

Я бы с радостью, но это не возможно. Провайдер не против моей деятельности. Свичи вообще все тупые. Только 1 умный, самый главный, провайдеровский, в который оптика приходит, но к нему доступа нет.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от LSTemp (ok) on 29-Авг-12, 01:03 
>[оверквотинг удален]
>> 2) net.ipv4.conf.all.arp_filter = 0 это параметр ядра, управляется через команду sysctl
>> Правите файлик /etc/sysctl.conf, потом sysctl -p /etc/sysctl.conf. Но вам это не нужно,
>> т.к читайте пункт 1, он решит проблему
>> 3) Реорганизуйте срочно вашу сеть. Разделите сети провайдера и вашу, иначе однажды
>> к вам придет провайдер и попросит это сделать в менее вежливой
>> форме. Провайдеру ваши броадкасты и вирусная активность не к чему. Если
>> свичи управляемые, почитайте про vlan.
> Я бы с радостью, но это не возможно. Провайдер не против моей
> деятельности. Свичи вообще все тупые. Только 1 умный, самый главный, провайдеровский,
> в который оптика приходит, но к нему доступа нет.

ну так поставьте м/ду ним и офиссной сетью свой шлюз.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от lucky89 email(ok) on 29-Авг-12, 01:27 
> ну так поставьте м/ду ним и офиссной сетью свой шлюз.

Это не офис, а общага, там много людей живет и многим нужна не моя сеть, а провайдеровская, по этому не могу я так сделать. Тянуть отдельные провода от себя и ставить на этажах свои свитчи будет глупо, так как и так с каждым человеком в здании есть связь по существущей безроутерной сети. Я же писал, реконструкцию сети не предлагать!

А если со всем по порядку попробовать разобраться. Так-то все четко работает и на огромных скоростях. Только необходимость в этом файлике у каждого пользователя доставляет некорые неудобства. Вот первый вопрос получается, почему вообще маки сетевух иногда путаются? Чем это вызвано, что в линуксе за это отвечает?
Можно ли это вообще исправить дописав что-то в сервер или таким путем проблему вообще решить не возможно?
Если не возможно, то как можно автоматизировать процесс получения пользователями этого батника ну или можно просто команды arp? Слышал, что такие параметры может дхцп рассылать, но его я поднять не могу, так как в этом случае их получится 2 в одной сети и они подерутся.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от LSTemp (ok) on 29-Авг-12, 03:49 
>[оверквотинг удален]
> пользователя доставляет некорые неудобства. Вот первый вопрос получается, почему вообще
> маки сетевух иногда путаются? Чем это вызвано, что в линуксе за
> это отвечает?
> Можно ли это вообще исправить дописав что-то в сервер или таким путем
> проблему вообще решить не возможно?
> Если не возможно, то как можно автоматизировать процесс получения пользователями этого
> батника ну или можно просто команды arp? Слышал, что такие параметры
> может дхцп рассылать, но его я поднять не могу, так как
> в этом случае их получится 2 в одной сети и они
> подерутся.

Вот когда своим шлюзом отделите общаговую сеть от провайдерской, тогда и сможете. И никакие дополнительные кабели не понадобятся.

Авторизация для выхода в инет как у Вашего прова организована?


Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от lucky89 email(ok) on 29-Авг-12, 15:42 
> Вот когда своим шлюзом отделите общаговую сеть от провайдерской, тогда и сможете.
> И никакие дополнительные кабели не понадобятся.

Да нельзя мне так делать! Как тогда достучатся до провайдера, те, кто пожелали на прямую от него подключиться?! Пойдут через мой серв? А мне этого не надо.
> Авторизация для выхода в инет как у Вашего прова организована?

Авторизации как таковой вообще у меня нет, средствами iptables и правил NAT все пакеты без разбора перенаправляются к провайдеру. В принципе авторизую по ип. Есть правило, что всех перенаправлять запрещено, кроме конкретных ип. Ну и таблица arp у меня есть статическая, чтобы умники не пытались свободные ип подбирать.


Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

6. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от aaa (??) on 29-Авг-12, 15:36 
>[оверквотинг удален]
> Дополнительную информацию по данной тематике вы найдете в Guide to IP
> Layer Network Administration with Linux.
> Тут я не понял где вводить эту команду, терминал мне отвечает, что
> она не найдена. Это переменная ядра Линукса, по идее ее же
> можно хоть где прописать.
> Да и в том что это мне поможет я сомневаюсь. Ведь, если
> первый запрос придет сразу не на ту сетевуху, то и ответ
> будет не с той.
> В общем даже не представляю, что нужно докрутить на сервере, чтобы стало
> все по человечески. Помогите, пожалуйста!

Попробуйте как-то так, только свои интерфейсы подставьте

net.ipv4.conf.eth2.arp_filter = 1
net.ipv4.conf.eth0.arp_filter = 1

net.ipv4.conf.eth0.arp_ignore=1
net.ipv4.conf.eth2.arp_ignore=1

net.ipv4.conf.eth0.arp_announce=2
net.ipv4.conf.eth2.arp_announce=2

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от aaa (??) on 29-Авг-12, 15:39 
>[оверквотинг удален]
>> будет не с той.
>> В общем даже не представляю, что нужно докрутить на сервере, чтобы стало
>> все по человечески. Помогите, пожалуйста!
> Попробуйте как-то так, только свои интерфейсы подставьте
> net.ipv4.conf.eth2.arp_filter = 1
> net.ipv4.conf.eth0.arp_filter = 1
> net.ipv4.conf.eth0.arp_ignore=1
> net.ipv4.conf.eth2.arp_ignore=1
> net.ipv4.conf.eth0.arp_announce=2
> net.ipv4.conf.eth2.arp_announce=2

Добавте еще
net.ipv4.conf.all.log_martians = 1
что бы логи отброшеных пакетов смотреть

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

9. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от lucky89 email(ok) on 29-Авг-12, 15:52 
> net.ipv4.conf.eth2.arp_filter = 1
> net.ipv4.conf.eth0.arp_filter = 1
> net.ipv4.conf.eth0.arp_ignore=1
> net.ipv4.conf.eth2.arp_ignore=1
> net.ipv4.conf.eth0.arp_announce=2
> net.ipv4.conf.eth2.arp_announce=2
> Добавте еще
> net.ipv4.conf.all.log_martians = 1
> что бы логи отброшеных пакетов смотреть

А из каких соображений это должно помочь? Зачем вообще какие-то пакеты откидывать? Может я не правильно представляю сам механизм, но мне видится, что:
1) Пользователь включает комп, у него начинает подниматься сетевой интерфейс
2) Система смотрит, что прописан статические ип, основной шлюз, днс и маска.
3) Она отправляет первые пакеты в сеть в поисках основного шлюза.
4) Пакет добирается до моего сервера и входит в одну из сетевух.
5) К пользователю приходит ответный пакет с содержанием: я основной шлюз, я здесь, вот май мак адрес
6) Теперь его сетевой интерфейс передает все пакеты без разбору на этот мак. (Ведь на сколько я знаю на основной шлюз отправляются пакеты именно по маку а не по ип, а ип у него есть, только чтобы 1-5 пункты выполнились).

От сюда получается, если у пользователя высветился не верный мак, значит его первый пакет не в ту сетевуху залез. А как такое может быть я не представляю... Ведь он искал ип 192.168.*.* , а залез получается в ту, в которой вообще 10.10.*.* или 172.*.*.* не помню, но это и не важно

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

10. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от reader (ok) on 29-Авг-12, 16:21 
hwaddress ether 00:11:22:33:44:55
HWADDR="00:11:22:33:44:55"

в зависимости от дистрибутива

/etc/udev/rules.d/*net.*

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

12. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от aaa (??) on 29-Авг-12, 17:20 
>[оверквотинг удален]
> здесь, вот май мак адрес
> 6) Теперь его сетевой интерфейс передает все пакеты без разбору на этот
> мак. (Ведь на сколько я знаю на основной шлюз отправляются пакеты
> именно по маку а не по ип, а ип у него
> есть, только чтобы 1-5 пункты выполнились).
> От сюда получается, если у пользователя высветился не верный мак, значит его
> первый пакет не в ту сетевуху залез. А как такое может
> быть я не представляю... Ведь он искал ип 192.168.*.* , а
> залез получается в ту, в которой вообще 10.10.*.* или 172.*.*.* не
> помню, но это и не важно

Про Ваши соображения можно посматреть тут
http://kb.linuxvirtualserver.org/wiki/Using_arp_announce/arp...
И обратите внимание на поведение по умолчанию

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

14. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от lucky89 email(ok) on 29-Авг-12, 22:44 
> Про Ваши соображения можно посматреть тут
> http://kb.linuxvirtualserver.org/wiki/Using_arp_announce/arp...

Я к сожалею не силен в английском, а гугл мне очень ужасно перевел))

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

15. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от aaa (??) on 29-Авг-12, 23:19 
>> Про Ваши соображения можно посматреть тут
>> http://kb.linuxvirtualserver.org/wiki/Using_arp_announce/arp...
> Я к сожалею не силен в английском, а гугл мне очень ужасно
> перевел))

Тогда забейте! Ваша задача решается проще:

1) Вытаскиваем вторую сетевуху, продаем ее и покупаем бутылку пива))
2) На первую вешаем алиас: ifconfig eth0:0 192.168.102.1 netmask 255.255.255.0 broadcast 192.168.102.255
3) Делаем нат для всех кроме 192.168.102.0/24:  iptables -t nat -A POSTROUTING -o eth0 ! -d 192.168.102.0/24 -j MASQUERADE

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

16. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от lucky89 email(ok) on 29-Авг-12, 23:24 
> Тогда забейте! Ваша задача решается проще:
> 1) Вытаскиваем вторую сетевуху, продаем ее и покупаем бутылку пива))
> 2) На первую вешаем алиас: ifconfig eth0:0 192.168.102.1 netmask 255.255.255.0 broadcast
> 192.168.102.255
> 3) Делаем нат для всех кроме 192.168.102.0/24:  iptables -t nat -A
> POSTROUTING -o eth0 ! -d 192.168.102.0/24 -j MASQUERADE

То есть сделать 2 ип на 1 сетевухе?
Я такое пробовал и у меня скорости упали с 70 Мбит до 800 Кбит максимум...
Похоже не выдерживает 1 сетевуха таких нагрузок. У меня 70 человек и все они пользуются торрентами, играют в игры, смотрят фильмы в онлайне, качают с локальных фтп и тд. + еще на сервере вертятся squid, dns сервер, аппатч, и резалка скорости HTB.
Или чем может быть вызвано падение скорости?

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от aaa (??) on 29-Авг-12, 23:55 
>[оверквотинг удален]
>> 3) Делаем нат для всех кроме 192.168.102.0/24:  iptables -t nat -A
>> POSTROUTING -o eth0 ! -d 192.168.102.0/24 -j MASQUERADE
> То есть сделать 2 ип на 1 сетевухе?
> Я такое пробовал и у меня скорости упали с 70 Мбит до
> 800 Кбит максимум...
> Похоже не выдерживает 1 сетевуха таких нагрузок. У меня 70 человек и
> все они пользуются торрентами, играют в игры, смотрят фильмы в онлайне,
> качают с локальных фтп и тд. + еще на сервере вертятся
> squid, dns сервер, аппатч, и резалка скорости HTB.
> Или чем может быть вызвано падение скорости?

Вот тут на русском про директивы о которых я писал выше
http://unixfaq.ru/index.pl?req=qs&id=491

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

18. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от lucky89 email(ok) on 30-Авг-12, 01:52 
> Вот тут на русском про директивы о которых я писал выше
> http://unixfaq.ru/index.pl?req=qs&id=491

Спасибо! Вроде я что-то начинаю осознавать! Сейчас хотел попробовать применить ваши советы, написал nano /etc/sysctl.conf а там нет таких параметров... дистрибудив у меня Debian. И вообще в этом файле вообще все закоментированно
Тогда сделал так  nano /proc/sys/net/ipv4/conf/all/arp_announce
там было значение 0, поменял его на 2 сохранил. Как теперь перезапустить эту службу, чтобы изменения вступили в силу? И это будет на всегда или до первой перезагрузки сервера?
Вообще я странное явление заметил: отчистил у клиента таблицу arp, перезагружаю сервер, ну чтобы изменения вступили в силу и инет у клиента падает, открываю тот файлик на сервере, а там вместо исправленной 2 по прежнему написан 0, то есть получается ничего не поменялось (правил я под учеткой root). За тем у клиента выкл/вкл подключение по локальной сети - инет поднимается. Смотрю в таблицу arp там вижу записи с параметром статический появились, и одна из них
192.168.102.102       00-1d-60-7b-e5-26     статический
Это основной шлюз, мак правильный, это очень хорошо, но почему так стало? Раньше был динамический всегда и перезагружая интерфейс мог стать правильным или не правильным. Тут перезагрузил 10 раз - всегда правильный. Чудеса - ничего не поменял, а ситуация улучшилась... Можете такое объяснить?
Продолжил эксперимент: у пользователя еще много раз перезапускал интерфейс, пока 100% мак правильный и статический. Но потом решил, а попробую я теперь arp -d написать, в итоге он делается динамическим и сразу же или через случайный промежуток времени меняется на неправильный. Опять перезапускаю интерфейс - все налафивается, опять правильный, опять статический. Так-то это не принципиально, ведь пользователь сам никогда таблицу arp чистить не станет, но все же это как-то странно. Что-то мне кажется вся эта история где-то не правильной...

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

19. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от aaa (??) on 30-Авг-12, 13:22 
>[оверквотинг удален]
> не правильным. Тут перезагрузил 10 раз - всегда правильный. Чудеса -
> ничего не поменял, а ситуация улучшилась... Можете такое объяснить?
> Продолжил эксперимент: у пользователя еще много раз перезапускал интерфейс, пока 100% мак
> правильный и статический. Но потом решил, а попробую я теперь arp
> -d написать, в итоге он делается динамическим и сразу же или
> через случайный промежуток времени меняется на неправильный. Опять перезапускаю интерфейс
> - все налафивается, опять правильный, опять статический. Так-то это не принципиально,
> ведь пользователь сам никогда таблицу arp чистить не станет, но все
> же это как-то странно. Что-то мне кажется вся эта история где-то
> не правильной...

Чтобы изменения вступили моментально надо делать так:
sysctl -w net.ipv4.conf.eth0.arp_announce=2
и т.п.
потом очистить арп кеш
либо добавляем строки
net.ipv4.conf.eth0.arp_announce=2
в файл /etc/sysctl.conf и делаем sysctl -p

посмотреть изменения можно так: sysctl -a|grep arp

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

11. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от 0x21h (ok) on 29-Авг-12, 17:10 
Приведите настройка обоих сетевых интерфейсов, "route -n", а так же "sysctl -a" так будет проще разбираться.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от lucky89 email(ok) on 29-Авг-12, 22:43 
> Приведите настройка обоих сетевых интерфейсов, "route -n", а так же "sysctl -a"
> так будет проще разбираться.

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
178.169.66.72   0.0.0.0         255.255.255.248 U     0      0        0 eth1
192.168.102.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         178.169.66.73   0.0.0.0         UG    0      0        0 eth1

а вывод "sysctl -a" мне в терминал PuTTY не входит. Может что-то конкретное интересует?

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

20. "Debian выдает в сеть адрес не той сетевой карты"  +/
Сообщение от LSTemp (ok) on 02-Сен-12, 06:20 
> а вывод "sysctl -a" мне в терминал PuTTY не входит. Может что-то
> конкретное интересует?

А что опция Window->Lines of scrollback уже не помогает? Можно даже галочку Display scrollbar поставить, если с клавиатуры листать не умеете.

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру