ifconfig staticarp на gentoo [РЕШЕНО]
LinAdmin 4 июня, 2010 - 13:16
Здравствуйте товарищи!
У меня довольно интересный вопрос. И как еще выяснилось, после гугления, больной для линукса.
Есть ли способ сделать staticarp в линуксе, в частности в gentoo?
Насколько я знаю в freebsd есть средства, вроде такого:
ifconfig em0 192.168.1.1/24 staticarp up
В gentoo я нашел только ключ -arp который вырубает arp протокол совсем. Мне этот вариант не подходит, так как я собираюсь сделать статический арп на сервере и понятное дело клиенты будут "терять" сервер после того как у них запись в arp кеше устареет и сотрется, а сервер не будет отвечать на arp запросы.
Посоветуйте как сделать лучше.
Заранее благодарен.
»
- Для комментирования войдите или зарегистрируйтесь
Вы думаете, что здесь
Вы думаете, что здесь сплошняком сетевые фряшники и все знают, что такое carp, или что кто то побежит гуглить ?
скажи толком , чего хочешь, и не говори, чего там во фряхе =)
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
Я написал чего я хочу. Я хочу
Я написал чего я хочу. Я хочу статический ARP.
Только не статико-динамический как он получается при привязке IP <-> MAC командой:
Поясню, статическим будет только то, что я вписал командой выше, но все остальные записи будут в таблице динамическими.
Если ничего не помогает, прочти наконец инструкцию...
я правильно понял что речь
я правильно понял что речь идет о привязки в ARP таблице IP к MAC?
если да то гугл выплюнул на второй ссылке http://www.opennet.ru/tips/info/750.shtml
А все остальное рубите файерволом как еритиков. Я как понимаю вам один фиг от них трафика не надо?
Хотелось бы красивее решение,
Хотелось бы красивее решение, чтобы "левые" маки вообще не попадали в ARP таблицу.
На freebsd это так и решается командой ifconfig staticarp.
Если ничего не помогает, прочти наконец инструкцию...
на предмет ядра не смотрели
на предмет ядра не смотрели кстати? может там есть что-то похожее?
http://linux.die.net/man/7/arp тут есть намек на несовсем красивое но тоже решение. ограничить размер таблицы arp ручками через sysctl и внести туда все необходимые адреса при старте машины. В общем хак но результат тотже.
Для полноты картины, я могу конечно ошибаться, но имхо пакеты один фиг будут приходить, из-за отсутсвия arp в кэше они не будут уходить, так что вернее рубить это все фаерволом...
И еще одно, в сетевом плане линух куда ущербнее чем бсдя ;) так что искать аналоги сложновато )
И еще одно, в сетевом плане
Давайте без вбросов, плиззз.
носилянство одной какой либо системы не повод для заявлений.
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
"носилянство" я просто слова
"носилянство" я просто слова не понял.
ну в общем в линухе я вот только такие вот костылятости могу предложить. вечером еще посмотрю что там в ядре.
И всеж в БСДЕ работа с сетевыми протоколами сделана грамотнее ;) даже не смотря на то что я убежденный гентушник )
/
Грамотнее для кого|чего?
Google и Cisco имеют на этот счет отличное от вашего мнение.
Даже несмотря на то, что они убежденные акулы бизнеса.
Наблюдаю интересную и в общем то закономерную картину: правильно поставленная задача или правильно заданный вопрос - это уже половина ответа. Хочешь "как ва {фре,венде,саляре}", ну дык используй соответствующий инструмент. Подобные формулировки совершенно не способствуют поиску решения.
как выразился один мой друг
как выразился один мой друг pf после iptables это как C++ после C. И не могу с ним не согласится ) А насчет формулировки, там пониже человек ясно дал поянть что хочет фиксированную ARP таблицу и все. Имхо можно ограничить размер и внести только интересующие записи. Должно быть счастье.
Счастье в чем? В ругани
Счастье в чем? В ругани которая будет сыпаться в логи, что ARP таблица переполнена. Это уважаемый какой-то велосипед...
Если ничего не помогает, прочти наконец инструкцию...
Тык слезайте и садитесь в
Тык слезайте и садитесь в авто, как предлагает товарищ taaroa. А так только и остается что заниматься велосипедизмом.
Это не вариант.
Это не вариант.
Если ничего не помогает, прочти наконец инструкцию...
arpd вот еще нарыл. правда о
arpd вот еще нарыл. правда о нем ничего не слышал, так что не знаю. у меня идеи кончились.
Погуглил я про него, народ
Погуглил я про него, народ жалуется что глюковатая штука.
Этот демон входит в состав iproute2 и реализует увеличение arp таблицы, за счет ведения собственной базы.
Для меня этот демон абсолютно бесполезен...
Если ничего не помогает, прочти наконец инструкцию...
.
LinAdmin написал(а): Я
Долго читал, несколько раз даже. все равно не понял.
Вы хотите жестко привязать маки к айпишкам и рубать все тех, кто не прошел проверку ( т.е не отвечать на арп запрос, если не совпала пара ARP <=> IP) ?
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
всеж рубить и не отвечать это
всеж рубить и не отвечать это разные вещи имхо. можно поймать пакет обработать но в ответе просто не найти адресата (к tcp не отностится). А можно поймать посмотреть что от кого пришло и не обрабатывать вообще. В целом надо того кто знает как устроен staticarp в бсде.
Именно это мне и надо! Я хочу
Именно это мне и надо! Я хочу жестко контролировать ARP таблицу, чтобы в ней были только те записи, которые внес я.
Если ничего не помогает, прочти наконец инструкцию...
/proc/sys/net/ipv4/neigh/имя_
/proc/sys/net/ipv4/neigh/имя_устройства/*_solicit
Может - эти параметры помогут? Насколько я понял, ими регулируется кол-во запросов перед принятием решения, что хост недоступен. Если их выставить в ноль, то линух вообще должен прекратить отправлять запросы ARP в сеть.
В том то и проблема, что
В том то и проблема, что линукс наоборот посылать ARP-ответы должен, но не должен принимать "левые" MAC-адреса, которых у него в таблице нету.
То что вы говорите можно реализовать намного проще:
После этой команды линукс перестанет принимать ARP-запросы и отвечать на них.
Меня она устроила бы, НО мне надо чтобы линукс отвечал на запросы тех машин, MAC-адреса которых есть в его таблице.
На одном из форумов был предложен следующий вариант решения этой проблемы:
1) выключаем интерфейс
2) поднимаем интерфейс с выключенным ARP
3) записываем нужные записи в свою ARP-таблицу
4) напишем скрипт который бы пинговал нужные машины, чтобы они обновляли свою запись о сервере в ARP-таблице, так как наш сервер не будет отвечать на ARP-запросы. Скрипт выполняем кроном каждые 5-10 минут.
Но этот метод имеет много потенциальных проблем. У клиента может антивирус блокировать icmp, пакет может потеряться или еще какой-нибудь сбой может произойти. Получается как в песне: юзер надеется чтобы пинги прошли. =)
Если ничего не помогает, прочти наконец инструкцию...
В том то и проблема, что
читайте маны, они рулез:
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
,
Капитан, спасибо Вам, но надо то "как во фре" (;
__________________________________________________
@hook pre "sysctl -p &> /dev/null";
@hook post "arp -f /etc/ethers &> /dev/null";
table filter {
interface (eth0 ppp0 etc) {
chain INPUT {
policy DROP;
mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;
}
}
}
domain arp chain INPUT {
policy DROP;
interface (eth0 etc) {
destination-mac BROADCAST DROP;
ACCEPT;
}
}
domain eb chain FORWARD {
policy DROP;
logical-in br0 logical-out br0 {
proto (IPv4 ARP) ACCEPT;
}
}________________________________
^а это специально для ниасиляторов iptables
Не понятно что вы хотели
Не понятно что вы хотели сказать публикуя листинги манов на английском языке. Если хотите что вас понимали изъясняйтесь пожалуйста на русском. Ведь это русский форум, ведь так?
Далее, маны читать я умею, и если бы нашел в них то, что мне надо, я бы не задал вопрос здесь. А вот вы похоже не до конца поняли что надо и советы раздаете.
ARPd - коллекционирует информацию и сохраняет ее на жесткий диск и выдает эту информацию ядру по требованию. НЕ ПОДХОДИТ.
ebtables - мосты и PPPoE у меня отсутствуют. НЕ ПОДХОДИТ.
RARP - это некий аналог DNS, в моей сети IP статические. НЕ ПОДХОДИТ.
Про /etc/ethers я знаю и читал этот ман.
Если все подытожить, то по существу вы ничего не сказали.
Если ничего не помогает, прочти наконец инструкцию...
ниже перевод моего намека на
ниже перевод моего намека на совсем уж русский.
НЕ ПОДХОДИТ - т.е маки и соотв их ип в общем случае узнаются астральным путем .
ман прочитай внимательно, примени мозг - ebtables работает с L2 уровнем,коем и является езернет.
ндас. а это пожалуй уже фортунки - RARP есть протокол, решающий задачу, обратную задаче протокола ARP.
если бы читал, то формулировка была бы "не как во фре", а как его использовать
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
И все же мне кажется, что вы
И все же мне кажется, что вы меня не поняли.
ARPd - информацию коллекционирует, но он получает ее из сети, а именно это мне и надо предотвратить.
Про ebtables и RARP я начитался и они не решают мою проблему.
И что вы предрались "как во фре", я всего лишь привел пример.
В общем то человек ниже постом описал достаточно хорошую реализацию при помощи iptables, хотя я потыкал еще и arptables это тоже вещь!
Если ничего не помогает, прочти наконец инструкцию...
если бы вы "потыкали" еще, то
если бы вы "потыкали" еще, то увидели бы, что arptables - deprecated, и заменены на ebtables :) , и что родом они с одного и того же сатйта на sf.net
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)
.
Улыбнуло.
А еще злобный клиент может настроить firewall порезав не только icmp, но и сделать
mod pkttype pkt-type (broadcast multicast unicast) DROP
и прочие веселые вещи (:Хм... Вы, видимо, не поняли
Хм... Вы, видимо, не поняли меня правильно. Идет речь о запросах, а не ответах. Т.е. - приведенные мною параметры отвечают именно за запросы. Что касается ответов - то хост их будет давать, если у него будут спрашивать. Но сам он спрашивать ничего не будет, и соответственно - будет "видеть" только адреса, прописанные в арп-таблице статически.
Если я ничего не перепутал - вам именно это было нужно?
А если сервер будут
А если сервер будут опрашивать неизвестные ему узлы, то их МАКи будут записаны у него в ARP таблице?
Если ничего не помогает, прочти наконец инструкцию...
А для того, чтобы неизвестные
А для того, чтобы неизвестные узлы игнорировать, нужно использовать arptables (или ebtables по-новому, если я ничего не путаю). Т.е. - с одной стороны, через sysctl отключается активный поиск соседей, а с другой стороны, через ebtables фильтруются запросы от "левых" хостов.
Не именно это ли было нужно изначально?
Да! Именно это и нужно было!
Да! Именно это и нужно было! Огромное спасибо за помощь!
Если ничего не помогает, прочти наконец инструкцию...
http://www.gentoo.ru/content/
http://www.gentoo.ru/content/chto-eto-znachit-solved-resheno
Совсем забыл. Сейчас
Совсем забыл. Сейчас исправлю. =)
Если ничего не помогает, прочти наконец инструкцию...
iptables -m mac --mac
iptables -I таблица -m mac --mac xx:xx:xx:xx:xx:xx -s ! нужный_ip_адрес -j DROP
вставляйте хоть в INPUT, хоть куда. Заглянцевать статической арп привязкой и положить большой болт на появляющиеся в арп таблице левые маки... это способ номер 1.
Номер 2 - ebtables+arptables. Более грамотный, но более сложный. Засим отправляю вас в гугл...
P.S. На опеннете проскакивал патч для ТРУ-параноиков. Там менялась реализация arp так, что он кормился маками ТОЛЬКО из файла, не отвечая клиентам, которых он не знает. Но, повторюсь, без грубых хаков самый тру-параноидальный способ - способ №2
Нейтральность - высшее достижение сознания!
Довольно интересное решение!
Довольно интересное решение! Поэкспериментирую на досуге. =)
Если ничего не помогает, прочти наконец инструкцию...