LINUX.ORG.RU
ФорумAdmin

Марсианские источники. Как с ними бороться?

 , ,


0

2

Доброго времени суток, товарищи!

С некоторых пор (достаточно давно) стало трудновато читать логи. А всё из-за такой фигни как «Марсианские источники», которые залили своим содержимым большую часть мессагесов. Так как в логи приходится смотреть не особо часто, то сначала меня это даже и не беспокоило, но постепенно эти строчки:

Mar 27 09:55:48 zg153 kernel: [774046.741546] IPv4: martian source 192.168.153.255 from 192.168.153.120, on dev eth2
Mar 27 09:55:48 zg153 kernel: [774046.741573] ll header: 00000000: ff ff ff ff ff ff 6c f0 49 e9 06 89 08 00        ......l.I.....
Mar 27 09:55:48 zg153 kernel: [774046.741546] IPv4: martian source 192.168.153.255 from 192.168.153.120, on dev eth2
Mar 27 09:55:48 zg153 kernel: [774046.741573] ll header: 00000000: ff ff ff ff ff ff 6c f0 49 e9 06 89 08 00        ......l.I.....
Mar 27 09:55:48 zg153 kernel: [774046.741595] IPv4: martian source 192.168.153.255 from 192.168.153.120, on dev eth0
Mar 27 09:55:48 zg153 kernel: [774046.741597] ll header: 00000000: ff ff ff ff ff ff 6c f0 49 e9 06 89 08 00        ......l.I.....
Mar 27 09:55:48 zg153 kernel: [774046.741595] IPv4: martian source 192.168.153.255 from 192.168.153.120, on dev eth0
Mar 27 09:55:48 zg153 kernel: [774046.741597] ll header: 00000000: ff ff ff ff ff ff 6c f0 49 e9 06 89 08 00        ......l.I.....
меня просто достали.
Честно говоря сначала я оху^W очень удивлялся названию - martian source, не, ну правда. Мне даже стало страшно гуглить инфу о его происхождении. Гуглить пришлось пути решения, но вот беда, большая часть решений - это просто отключение выхлопа от этих самых источников, но ведь если я отключу выхлоп, сами источники существовать не перестанут.
В итоге я наткнулся на приблизительное решение проблемы, да вот беда - оно через iptables делается, а я, страшно сказать, за восемь лет знакомства с линапсом (бригада логопедов уже выехала) ни разу эту штуку не тыкал. Мне как-то хватало яста с ЗузеФурриволлом, не, ну правда. Я так понял, что надо как-то отсечь пакеты из левых подсеток для каждого интерфейса, но я не знаю как это сделать. Дополнительные проблемы создаёт то, что на некоторых интерфейсах по несколько подсетей - смотрите сами:

  • eth0: 10.38.38.0/24
  • eth1: 192.168.0.0/24, 192.168.1.0/24, 192.168.153.0/24
  • eth2: 172.16.8.0/24



Увы, такой зоопарк сложился достаточно давно - как временное решение - по причине ограниченного диапазона адресов с первого интерфейса (/27 было), ну и полнейшей моей неопытности. Далее уже было лень менять, да и муторно это, учитывая, что на разные подсетки было удобно раскидать различные сервисы (жаббер, самбу, нфс, ну и вайфай-точки в отдельную, дабы было проблематичнее малолетним кулхацкерам их отыскивать со школьных машин). И такая схема вроде как даже работает не первый год.

Так вот, хотелось бы здесь выяснить следующее:
1. Как решить проблему при помощи тыканья в Ясте?
2. Если п.1 невозможен, то как решить проблему при помощи иптаблеса? С пояснениями по строкам и ключам. Я так и не понял, в каком порядке там правила отрабатывают.
3. Чому такое название? Кто придумал? Почему во времена, ЕМНИП, 11.4 - 12.2 (по Зузекалендарю) оно не срало в мессагесы?

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

★★★

Последнее исправление: Vier_E (всего исправлений: 1)

Если вы прибъете не желательный траффик на уровне фаервола, это есще хуже чем просто подавить логи. Лутше разберитесь в проводах и vlan-ах и почему трафик с 192.168.153.120 приходит на интерфейсы на которых его не должно быть (eth0 и eth2).

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

Потому что все три интерфейса подключены к одному свитчу. Так как на этой машине крутятся все сервисы (которые на разных подсетях), то она подключена к центральному свитчу всеми интерфейсами.
Да, локалка тянулась в том же 2010 году, и этот конкретный сегмент - не мной. Есть варианты поправить ситуацию без перетягивания проводов?

Vier_E ★★★
() автор топика

Суть проблемы в чем, вот у вас есть компьютер у которого есть 3 сетевых интерфейса. Каждый интерфейс смотрит в какуюто свою подсеть (eth1 вообще сразу в 3 подсети). И тут вдруг трафик который компьютер ожидает увидеть на eth1 прилетает в eth0 и eth2, в принципе ничего страшного в этом нету - но это идет в разрез между логической и физической структурой сети, соотвецтвенно вы получаете варнинг в логах. Если вы будете отсекать такой трафик на уровне фаервола - проблему по сути это не решит, трафик никуда не исщезнет - вы просто перестаните его видеть на этой конкретной машине.

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

Вон оно как, т.е надо каким-то образом развести интерфейсы на физическом уровне? Пока что я даже не представляю как. Управляемый свитч спасёт положение?

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

Както странно тогда получается - есть 3 интерфейса с разными подсетями но физически они воткнуты в одну сеть. Непонятно тогда зачем вам 3 интерфейса - можно обойтись одним (темже eth1) на который навесить все логические подсетки (все 5 штук) a из eth0 и eth2 вообще провода вытянуть. А вообще это не сильно хорошо когда в одной физической сети живет зоопар логических сеток ...

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

Упровляемый свич с vlana-ми вам поможет, но боюсь что если у вас там все смешалось в одну кучу то после того как вы разнесете все по разным физическим подсетям - чтото перестанет работать :)

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

Сперва пришлось добавлять одну подсеть, так как провайдер выставил ограничение на 30 адресов, а машин стало больше. Я поднял сквид и запилил 192.168.0.0/24, Затем пришлось пилить 192.168.1.0/24, так как ТП-Линк для своих точек выставляет дефолтные адреса из неё. В итоге эта подсеть так и осталась исключительно для всех точек доступа, коих уже почти с десяток набралось: так удобнее.
192.168.153.0/24 не помню для чего запиливалась, может для самбы, так как были какие-то проблемы с функционированием оной в одной подсети с нфс, тоже году в 2011, а мож ещё что было, но теперь эта подсеть используется для коннекта к сквиду и самбе из локалки.
Я как-то решил выпилить 192.168.0.0/24 за ненадобностью, но на ней висит ежабберд, а клиентов теперь почти сотня - запарюсь на всех переписывать конфиги.
10.38.38.0/24 теперь вроде бы и удовлетворяет по количеству адресов, но перенастраивать кучу машин, перезабивая прокси, а смысл?
Есть вариант перевести нфс на 192.168.153.0/24 полностью, но это, опять же, менять настройки для 10-15 машин. Но тогда я смогу воткнуть проводок этого интерфейса напрямую в роутер - может так отсекутся марсианские пакеты.
Что же касается eth2, так на ней виртуалки висят. Пока что не отказаться. Ну либо придётся как-то настраивать маршрутизацию на самой машине.

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

Я бы на вашем месте заморочился и попытался разделить все подсети физически (а не логически), но это может оказатся затратно (нужены +2 свича или 1 но с потдержкой vlan-ов его можно будет разделить на 3 подсети тогда) и хлопотно. Посему есть несколько вариантов

1. Забить на все и жить как и раньше переодически чистя логи

2. Подавить логи чтоб они не писались

3. Отфилтровывать трафик на каждом интерфейсе чтоб сетевой стек его не видел и не генерировал логи

4. Оставить только один физический интерфейс и навесить на него все подсети, а два других отключить

5. Настроить бондинг: объеденить все 3 (или 2 а трейтий отключить) в один жирный логический bond интерфейс и уже на него навесить все 5 подсетей. По сути это будет тоже что и пункт 4 но вы не потеряете в общей пропускной способности сервера.

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

По поводу свитчей интересно. Т.е., я цепляю к центральному свитчу ещё два, и втыкаю интерфейсы уже в них?

1. Ну этим я давно занимаюсь, надо что-то менять.
2. Этот вариант я рассматривал, но там что-то ещё отвалится из логов, если верить инторнетам.
3. Есть что-нибудь почитать по этой теме?
4. Изначально так было, но меня с таким подходом раскритиковало много народу, суть критики была в том, что это !Ъ, и вообще приличные люди так не делают.
5. Впервые про такое слышу, но интересно. Есть какие годные статьи на примете, или проще взять и загуглить?

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

Что же касается eth2, так на ней виртуалки висят.

Если этот интерфейс используется исключительно для виртуальных машин которые находятся в основной подсети (10.38.38.0/24 или 192.168.0.0/24, 192.168.1.0/24, 192.168.153.0/24) то вы можете вообще не назначать никакого IP на этот интерфейс - пусть он будет в активном состоянии но без IP адреса - он ему не нужен. Если же все виртуалки живут в отдельной подсетке 172.16.8.0/24 и больше эти адресса нигде кроме виртуалок не используются - то вам этот интерфейс вообще не нужно заводить на свич.

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

Т.е. я просто удаляю ойпи/подсеть у интерфейса, или нужно объединять его с каким-либо из остальных? Если первое, то збс - одной проблемой меньше, всё равно ведь ойпи виртуалки в ней же и настраивается.

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

Т.е., я цепляю к центральному свитчу ещё два, и втыкаю интерфейсы уже в них?

Нет, если вы скаскадируете все 3 свича вместе - ничего не поменяется, нужно именно чтоб они были не зависимыми и у вас появится 3 физические подсети.

3. Есть что-нибудь почитать по этой теме?

Никогда не пользовался suse и никогда не пользовался чемто для настроек фаервола кроме iptables, на iptables это делается 3мя строчками

iptables -I INPUT -i eth0 ! -d 10.38.38.0/24  -j DROP
iptables -I INPUT -i eth1 ! -d 192.168.0.0/16 -j DROP
iptables -I INPUT -i eth2 ! -d 172.16.8.0/24  -j DROP
Но с последним правилом могут быть проблемы если у вас в виртуалках есть адреса из других подсетей, до них может перестать доходить (все зависит от того как он у вас там ходит).

4. Изначально так было, но меня с таким подходом раскритиковало много народу, суть критики была в том, что это !Ъ, и вообще приличные люди так не делают.

Да это не совсем хорошо когда на одном интерфейсе куча подсетей, но когда разные интерфейсы с разными подсетями воткнуты в один свич с одним vlan-ом - это есще хуже.

5. Впервые про такое слышу, но интересно. Есть какие годные статьи на примете, или проще взять и загуглить? [/qoute] Проще загуглить, суть в том что если у вас есть скажем одна логическая подсесть но вам не хватает пропускной способности сети - вы можете несколько интерфейсов какбы склеить вместе, тогда у вас будет 1 логический интерфейс который будет использовать для передачи/приема трафика несколько физических интерфейсов. Как результат выше пропускная способность и отказоустойчивость. Но это не совсем то что вам нужно :)

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

просто удаляете IP/подсеть - но интерфейс должен оставатся включен (ifconfig eth2 up). Не скажу как в suse но как правило всегда есть возможность поднять интерфейс не назначая ему IP адресс (для бриджинга, виртуалок или vlan транков).

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

Ага, c eth2 так и забацаем.

По поводу физического разделения, то тут прокатит только разделение между eth0 и eth1, так как большая часть клиентов находится одновременно в двух подсетсях: 192.168.0.0/24, и 192.168.153.0/24, но они как раз на одном интерфейсе.
Остаётся перенести настройки нфс на эти подсети, у меня доступ к какталогам нфс на запись сейчас только с 10.38.38.0/24, так было проще всего сделать в компьютерных классах - доступ на запись только с учительских машин, так как ученические к этой подсети не подключены. Видимо теперь надо будет вместо подсети указывать конкретные адреса машин, а на учительских и административной править фстаб.

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

Ну и, конечно же, премного благодарен за Вашу помощь. Теперь стало понятнее: куда копать по этому вопросу.

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

Хех, даже при отсутствии адреса у eth2, марсианские источники от него не отвязываются. придётся, видимо, пока отключать выхлоп.

Vier_E ★★★
() автор топика
4 мая 2016 г.

В итоге я сделал как написано здесь: http://avm-xandry.blogspot.ru/2012/09/blog-post.html
Пока что работает, но при systemctl restart network параметры сбрасываются на 1. Но у меня Зузя, а значит придётся править конфиг зузефурривола как написано там же. Как временное решение - пойдёт.

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

Я в яст тыкал! Немножко

Выглядит как «я дрочил». Однозначно девственник.

anonymous
()
Ответ на: комментарий от Vier_E

Я как-то решил выпилить 192.168.0.0/24 за ненадобностью, но на ней висит ежабберд, а клиентов теперь почти сотня - запарюсь на всех переписывать конфиги.

Клиенты какие?
Если там конфиги не в бинарном виде, то нужно только задеплоить скрипт, который их поправит.
А вообще, чтобы не было такой фигни, надо использовать DNS.

ArcFi
()

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

Интересно, как скоро придётся переименовывать этот термин в связи с освоением Марса :)

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

Клиенты в основном Пси+, но есть Спарк и Копыто.

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