November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Wednesday, July 23rd, 2008 07:07 pm


много думал. так и не понял, почему windows не жрёт маску /32.
И как всё-таки поднять адрес с такой маской?
Можно не на Local Area Connection, а на Loopback, но на нём мне вообще ничего поменять не удалось.

Ы?
Wednesday, July 23rd, 2008 07:00 pm (UTC)
А объясните мне смысл такой маски. Это же получается "вещь-в-себе", сеть без выхода. Или это какая-то стандартная хитрость?
Wednesday, July 23rd, 2008 07:17 pm (UTC)
http://community.livejournal.com/ru_root/1514536.html, пункт 1
Wednesday, July 23rd, 2008 07:05 pm (UTC)
Дядь, ты в себе? ;))
Wednesday, July 23rd, 2008 07:17 pm (UTC)
http://community.livejournal.com/ru_root/1514536.html, пункт 1
Wednesday, July 23rd, 2008 07:25 pm (UTC)
Это понятно. Да только винда тебе не даст такого сделать (и совершенно правильно не даст, кстати). Потому что она уверена, что у обычного, не point-to-point, интерфейса - должен быть, как минимум, дефолтный шлюз. Маска /32 этого не позволяет. Вот винда тебя и материт.
Wednesday, July 23rd, 2008 08:02 pm (UTC)
вот про "не даст" я уже понял. а про "совершенно правильно" - обоснуй, пожалуйста. я привёл пример, когда это именно то, что мне нужно. ну или расскажи, к какому интерфейсу можно приделать такой адрес. К Loopback у меня не получилось.
Wednesday, July 23rd, 2008 08:13 pm (UTC)
а про "совершенно правильно" - обоснуй, пожалуйста.

А чего тут обосновывать?!
Винда не предназначена для извратов. И невозможность вписать /32 - просто страховка от конфигураций интерфейса, при которых виндовая сеть гарантированно не будет работать. Вот и всё...

ну или расскажи, к какому интерфейсу можно приделать такой адрес.

К point-to-point, вестимо. Или к туннельному, что то же самое.
Кстати, а указание маски /30 для интерфейса тебя никак не спасёт?
Wednesday, July 23rd, 2008 08:25 pm (UTC)
это не изврат, а насущная необходимость :)

как показывает вышеприведённый пример, /31 винда уже вполне даже понимает. что несколько странно, полтому что для широковещательной сети по-хорошему нужно минимум 4 адреса.
но в общем случае даже этот вариант не годится, второй адрес из /31 может находиться с внешней стороны нат-сервера, и в него надо ходить через default gw, а не напрямую через ethernet.
Wednesday, July 23rd, 2008 08:33 pm (UTC)
Давай я завтра на работе подумаю и поэкспериментирую, лады? А то щас башка уже совсем не варит :(. Да и линуха экспериментального под руками нету.

Но что-то мне подсказывает, что твоя задача должна решаться значительно проще, без извратов. Сервак из DMZ пингует собственный реальный адрес. С приватного интерфейса. Пакет идёт куда? Правильно, в NAT. Там ему переписывают заголовок, подставляя реальный ip. Имеем: реальный интерфейс пингует сам себя - почему нет? А дальше файрволл, по идее, должен этот пакет перехватить и услать обратно в DMZ. Там с правилами файрволла нужно крутить, а не реальные адреса в DMZ вешать, как мне кажется...
Wednesday, July 23rd, 2008 09:37 pm (UTC)
а если роутер на циске? и нет возможности менять его настройки?
Thursday, July 24th, 2008 06:19 am (UTC)
А что будет (плохого), если на сервере просто добавить адрес а.б.ц.д на лупбеке или на сетевухе? Сервер начнёт себя видеть (факт) и будет продолжать принимать пакеты из инета через НАТ (вай нот?).

Может не нужно извратов?
Thursday, July 24th, 2008 06:30 am (UTC)
что значит "просто добавить"? Его надо добавлять с маской. И маска нужна /32, потому что любой соседний адрес может оказаться уже с другой стороны ната.
Thursday, July 24th, 2008 06:32 am (UTC)
ну кагбэ да, ты прав. Тогда видимо придётся таки построить какой-нить дурацкий туннель с таким адресом и маско. :(
Thursday, July 24th, 2008 07:03 am (UTC)
можно попробовать добавить Loopback adapter. дать ему ip с маской /30. и через реестр выставить маску /32. проверил - таблица маршрутов выглядет нормальной
Thursday, July 24th, 2008 07:47 am (UTC)
можно по шагам - какие команды надо для этого выполнить?
Thursday, July 24th, 2008 08:14 am (UTC)
через "установку оборудования" добавть не Plug'n'Play Microsoft Loopback Adapter (http://support.microsoft.com/kb/839013/en-us). дать ему IP (netsh или через гуи), в реестре HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{GUID адаптера} изменить SubnetMask на желаемый
Thursday, July 24th, 2008 08:50 am (UTC)
какой ужас.. а из командной строки это никак нельзя?
Thursday, July 24th, 2008 09:35 am (UTC)
Это ж M$ ;). Но, на первый вгляд, можно попробовать приблизительно в таком порядке.
1. командой net config rdr посмотреть, какие GUID у установленных в системе адаптеров. (при условии, что включен NetBT) (будут в NetBT_TCPip_{GUID})
2. командой devcon.exe install %windir%\inf\netloop.inf *msloop (http://technet2.microsoft.com/windowsserver/en/library/0b077318-2bac-4399-8230-461d5d2a055f1033.mspx?mfr=true) поставить драйвера loopback-а
3. После того, как система подумает и даст APIPA-адреса лупбэку, снять командой net config rdr изменения GUID - там должен будет появиться GUID лупбэка
6. Настройить с помощью netsh на IP с любой маской
5. Изменить в файле с текстом:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{GUID}]

"SubnetMask"=hex(7):32,00,35,00,35,00,2e,00,32,00,35,00,35,00,2e,00,32,00,35,\
00,35,00,2e,00,32,00,35,00,35,00,00,00,00,00

GUID на GUID, полученный в п. 3
6. импортировать файл в реестр (regedit /s loopback.reg)
7. рестартануть интерфейс с помощью netsh
типа того ;)
как снять GUID-ы интерфейсов без NetBT не знаю..надо гуглить
Thursday, July 24th, 2008 09:47 am (UTC)
а-а.. спасите-помогите..

спасибо, на досуге попробую разобраться
Thursday, July 24th, 2008 01:29 pm (UTC)
успехов. мне даже интересно ;)
да, при отключенном NetBT (как догадываюсь, он у Вас вполне может быть и отключен) можно попробовать пункты 1 и 3 заменить на экспорт "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\" (regedit /e) из реестра. GUID лупбэка в п.3 должен будет добавиться
Thursday, July 24th, 2008 07:44 am (UTC)
Винда не даст поднять такую маску.
Ряд очевидных (но с ее точки зрения вредных) действий с сетью винда просто не даст сделать.