LINUX.ORG.RU
Ответ на: комментарий от Irma

гугель с каждым годом всё хуже и хуже ищет. кавычки перестал распознавать и всё такое. вобщем толком ничего не находит. находит «в чём разница между 127.0.0.1 и 0.0.0.0». ничего не понятно

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

просто блочу рекламу, решил спросить на всякий случай для подстраховки...
а срока

0.0.0.0 0.0.0.0
что в данном случае значит?
накачал списков с блокировками, знаю просто, что некоторые комбинации могут открыть дверь злоумышленнику

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

Когда мне надо было блокировать сайты в hosts, я нагуглил какую-то простыню, что лучше делать это через 0.0.0.0., так и сделал. Подробностей, к сожалению, не помню.

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

Если в домене .1 сделать страничку с адресом 127.0.0.1, то неизвестно, что где сломается, а 0.0.0.0 всегда работает локально.

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

Если сделать «ip ro get» для 0.0.0.0 и для 127.0.0.1, то разницы нет.

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

Думаю, что строка с 0.0.0.0 пришла из оффтопиков.

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

127.0.0.1 соответствует хосту (локальному). 0.0.0.0 не соответствует никакому. Блокировать рекламу надо на другом уровне.

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

0.0.0.0 не соответствует никакому

т.е. строка 0.0.0.0 0.0.0.0 не имеет смысла?

Блокировать рекламу надо на другом уровне

на каком?

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

строка 0.0.0.0 0.0.0.0 не имеет смысла?

Я не вижу, но это в равной мере относится ко всем A. B.C.D A.B.C.D

на каком?

На более высоком. Встроенную в веб-страницы — адблоком, встроенным в браузер; в видео на YouTube — спонсорблоком, встроенным в клиент ютуба и т.д.

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

Быстрее ибо это значит «недоступно» и отбрасывается просто. Если заменить на localhost то будет обращение к localhost. А если ip нули то просто «хрень к которой идёт обращение недоступна, я даже не проверял, но зуб даю что это так» отвечает нам софт

Вроде я ничего не путаю

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)
Ответ на: комментарий от Irma

Благо, лупбек предоставляет сеть 127.0.0.0/8, и заблокированые сайты можно навесить на условный 127.123.123.123 ради избежания конфликтов

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

IMHO использование 0.0.0.0 0.0.0.0 в hosts - это либо ооочень старый метод времён ядер до 2.6, либо это бездумно принесено оз оффтопиков.

Наш ip-стек достаточно интересный.

0.0.0.0/32 он же INADDR_ANY который расценивается как локальный широковещательный адрес и ближаший вариант это 127.0.0.1.

Выполни «ip ro get 0.0.0.0» и «ip ro get 127.0.0.1»

Дальше посмотри на «ip ro ls table all»

Нашел машрут к 0.0.0.0/32? А он есть. Он прибит гвоздями.

Если глянуть исходники ядра linux-5.15/net/ipv4/route.c в районе строки 2750

        if (!fl4->daddr) {
                fl4->daddr = fl4->saddr;
                if (!fl4->daddr)
                        fl4->daddr = fl4->saddr = htonl(INADDR_LOOPBACK);
                dev_out = net->loopback_dev;
                fl4->flowi4_oif = LOOPBACK_IFINDEX;
                res->type = RTN_LOCAL;
                flags |= RTCF_LOCAL;
                goto make_route;
        }

А локально рекламу резать можно только на L7

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

0.0.0.0/32 он же INADDR_ANY который расценивается как локальный широковещательный адрес

Это при bind на него он имеет смысл INADDR_ANY.

Нашел машрут к 0.0.0.0/32? А он есть. Он прибит гвоздями.

Пипец, самодеятельность какая-то поперек стандартов. Фу.

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

С разморозкой! :)

rfc 1122 это 1989 год, классы адресов и маршрутизация на основе классов адресов. В 1993-1994 году её занесли в мавзолей и до сих пор ей пугают студентов.

Наверно сейчас нужно глянуть rfc 5735 p.3 Global and Other Specialized Address Blocks.

rfc это всего лишь свод правил, который в некоторых случаях можно трактовать по-разному :)

Если мы делая bind() на INADDR_ANY можем использовать любой адрес на хосте, то почему бы не сделать тоже самое и с адресом назначения?

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

Я там был, счел underspecified и прошел по ссылке на 1122.

t184256 ★★★★★
()

Чтобы 2 раза не вставать: а где описано, как разворачивается, например, 1.1 в 1.0.0.1?

rain@walkbook:~$ ping 1.1
PING 1.1 (1.0.0.1) 56(84) bytes of data.
64 bytes from 1.0.0.1: icmp_seq=1 ttl=57 time=37.4 ms
64 bytes from 1.0.0.1: icmp_seq=2 ttl=57 time=41.8 ms
^C
--- 1.1 ping statistics ---
3 packets transmitted, 2 received, 33.3333% packet loss, time 2001ms
rtt min/avg/max/mdev = 37.430/39.616/41.803/2.186 ms



Т.е., в целом логика ясна (1.1.1 -> 1.1.0.1, например), но интересно.

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

Ну, в данном случае обычный dec->bin. Это сам ping преобразует? Или где-то на более низком уровне?

По моему вопросу - напоминает сворачивание адреса с IPv6, но только для IPv4, а мне такое не попадалось просто раньше.

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

Какой-то у вас пример не интерестный, допустим, ″ping 1.012345″ .

Преобразует функция inet_aton, только в man'ах не написано, почему она так делает.

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

Хватит издеватся над человеком. Вы тоже тут не родились С DOS 66 в мозге.

Boatmen
()

0.0.0.0 site.com блокирует этот домен. Через 127.0.0.1 можно но это не так изящно. А лучше всего для блокировки поставить unbound

vbr ★★★★★
()
Последнее исправление: vbr (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.