LINUX.ORG.RU
ФорумAdmin

[теория]как включить raw режим?

 


0

1

хочу сделать так чтобы комп отвечал по любому IP из локальной сети ( т.е. отбор получаемых пакетов только по MAC адресу без учета IP ).
Как это можно сделать? Можно ссылкой или ключемыми словами.
Заранее благодарен.
P.S. причина - объединение функций двух компьютеров с разными IP(с одной подсети) в одном компьютере.

★★★★★

Дык отвечать надо по любому адресу или по двум?
несколько IP на один интерфейс не судьба повесить?
или надо CARP?

lnx
()

вопрос я не понел, так что напишу наугад

sysctl arp_filter

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

а как их повесишь, если оба будут смотреть в одну сетку (физически единый домен). CARP не годится. нужно отвечать по двум адресам.

Хотя стоп... что то я похожее видел в новых ядрах linux..

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

что-то ты хочешь всё усложнить.

ifconfig eth1 192.168.1.10 netmask 255.255.255.0 up
ifconfig eth1:1 192.168.1.11 netmask 255.255.255.0 up
ping 192.168.1.10
ping 192.168.1.11
или я чего-то недопонимаю? И не надо никакие новые ядра.

lnx
()
Ответ на: комментарий от silw

я в курсе про aliases, просто я всегда думал что это разных подсетей!
Например 10.0.0.1/24 и 10.0.1.1/24
Будет ли он работать в моем случае? Я лично неуверен.

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

блин, если сетки 10.0.0.1/24 и 10.0.1.1/24, то действительно проблем нет
а если сетки 10.0.0.1/24 и 10.0.1.2/24, причем физически в один хаб, к чему это приведет?

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

не то написал..

если сетки 10.0.0.1/24 и 10.0.1.1/24, то действительно проблем нет а если сетки 10.0.0.1/24 и 10.0.0.2/24, причем физически в один хаб, к чему это приведет?

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

ip addr add 10.0.0.1/24 dev eth0
ip addr add 10.0.0.2/32 dev eth0

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

если сетки 10.0.0.1/24 и 10.0.0.2/24, причем физически в один хаб, к чему это приведет?

Если воткнуть две сети с одинаковыми ip диапазонами в один хаб/свич, то вылезут конфликты ip адресов на машинах с одинаковыми ip адресами. //КО

Если в двух разных этих сетях нет машин с одинаковыми адресами, то это не две разные сети, а одна) //КО

Если нужно поднять два разных адреса в одной сети, то просто берешь и подымаешь.

ip addr add 10.0.0.1/24 dev eth0
ip addr add 10.0.0.1/24 dev eth0

«Умные» дядьки рекомендуют алиасы подымать с префиксом /32, но не говорят почему. На самом деле ожно с 32, можно с 24. В редких случаях нельзя с /32, но не знаю в каких случаях нельзя с 24.

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

Вторая строчка конечно же ip addr add 10.0.0.2/24 dev eth0

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

>«Умные» дядьки рекомендуют алиасы подымать с префиксом /32, но не говорят почему.

достаточно капельки здравого смысла и сообразительности чтобы понять почему

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

ок буду пробовать, всем спасибо.

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

Вы знаете, у меня перед глазами коммерческий кластер на решении от Veritas. Так вот, он автоматом вешает плавающий адрес (алиасом) из той же сетки, с той же маской, на тот же интерфейс (это не настраиваемое поведение) и никаких проблем/ньюансов в связи с этим никогда не вылазило.
Не томите же, я подозреваю тут есть какой-то деликатный момент с броадкастами, но никак не могу понять какой.

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

Внятного и обоснованного ответа никто дать не может. Честно говоря, сам затрудняюсь ответить с полным теоретическим обоснованием
у FreeBSD это было в man ifconfig указано, что алиас должен быть с маской 0xffffffff. Скорее всего, что-то связано с маршрутизацией, ибо оно не понимало, как можно идти в одну и ту же сеть через разные адреса и выкидывало ошибку при попытке назначить алиасу адрес из основной сети маску отличную от /32.
как-то так.

lnx
()
Ответ на: комментарий от zolden

они в широковещательном домене, значит arp протокол отработает и установит соответствие ip - mac с обоих сторон, маршруты в обе стороны есть значит и tcp/ip пакеты будут ходит в обе стороны, и да, указывать /24 для обоих алиасов ничего не сломает, но как-то не кузяво ;-)

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

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

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

Это возможно когда-то и было актуально в какой-то версии BSD для какого-то ядра.
Сейчас в линупсе даже деление на основной адрес и алиас несколько надуманное.
В документации к ip это видно невооружённым взглядом:
It is possible to have several different addresses attached to one device.
These addresses are not discriminated, so that the term alias is not quite appropriate for them.
Неоднозначности с маршрутизацией, думаю, никакой нет, видимо тупо первый подходящий адрес выбирается в качестве src_ip

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

Было актуально, по-моему в версии 4.x, сейчас фри нету под рукой, проверить не могу, но в man странице рекомендуют использовать маску /32:

 alias   Establish an additional network address for this interface.  This
	     is sometimes useful when changing network numbers, and one wishes
	     to accept packets addressed to the old interface.	If the address
	     is on the same subnet as the first network address for this
	     interface, a non-conflicting netmask must be given.  Usually
	     0xffffffff is most appropriate.
а в версии 4.6 четко сказано
alias   Establish an additional network address for this interface.  This
	     is sometimes useful when changing network numbers, and one wishes
	     to accept packets addressed to the old interface.	If the address
	     is on the same subnet as the first network address for this
	     interface, a netmask of 0xffffffff has to be specified.

В манах Arch и Ubuntu нет даже намека на это.
Из чего делаю вывод, что вопрос «Почему маска алиаса сетевого интерфейса с адресом из той же подсети, что и основной сетевой интерфейса должна быть 32бита и нельзя ставить маску такую же, как у основного адреса интерфейса?» имеет только один исчерпывающий ответ: "Патамушта!", или, как вариант, «Патамушта иначе как-то не кузява» :)

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

ок, исторический причны:

bsd4# ifconfig
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	options=3<RXCSUM,TXCSUM>
	inet6 fe80::a00:27ff:fee8:d4d0%em0 prefixlen 64 scopeid 0x1 
	inet 192.168.1.107 netmask 0xffffff00 broadcast 192.168.1.255
	ether 08:00:27:e8:d4:d0
	media: Ethernet autoselect (1000baseTX <full-duplex>)
	status: active
faith0: flags=8002<BROADCAST,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
	inet6 ::1 prefixlen 128 
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 
	inet 127.0.0.1 netmask 0xff000000 
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
bsd4# ifconfig em0 inet 192.168.1.108/24 alias
ifconfig: ioctl (SIOCAIFADDR): File exists

низя!

bsd4# ifconfig em0 inet 192.168.1.108/32 alias

зя!

bsd4# uname -a
FreeBSD bsd4.vyborg.ru 4.11-RELEASE FreeBSD 4.11-RELEASE #0: Fri Jan 21 17:21:22 GMT 2005     root@perseus.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386
hizel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.