Jump to content

Recommended Posts

Posted

Уткнулся в странную ситуацию, а именно:

 

есть сервер на котором подняли isc dhcp v6 (специально для раздачи по dhcpv6 ipv6 адресов)

 

сервер находится в другом L2 сегменте относительно потенциальных ipv6 клиентов.

 

Клиент запрашивает IPv6 адрес - его отлавливает маршрутизатор и делает ipv6 dhcp-relay на ipv6 адрес где крутится isc dhcpv6.

 

dhcpv6 видит этот запрос и отправляет ответ.

 

Запущенный wireshark на клиентском компе так же видит как первоначальный запрос клиента, так и ответ сервера.

Однако ничего не происходит (Ipv6 адрес не назначается)

 

Изменяем условие и ставим тот же сервер, так же настроенный но в тот же L2 сегмент где клиент.

Клиент запрашивает ipv6 адрес, его точно так же видит сервер и посылает ответ. Тем же wireshark'ом точно так же видим полученный от сервера ответ и хлоп, комп получает ipv6 адрес, адрес ДНС сервера и т.п.

 

Единственное отличие между сдампленными через wireshark пакетами я увидел лишь в том, что сервер в качестве source port своих ответов использует 547й порт (dhcpv6-server), а в случае если есть релей в виде роутера, то релей отправляет пакеты от сервера в сторону клиента однако с source port 546 (dhcpv6-client).

 

 

Кто сталкивался с раздачей ipv6 адресов клиентам без использования всяких pppoe и т.п. ?

  • Replies 60
  • Created
  • Last Reply

Top Posters In This Topic

Posted
то релей отправляет пакеты от сервера в сторону клиента однако с source port 546 (dhcpv6-client).

Вот это не есть нормально! Клиент как раз смотрит только пакеты с src port 547

Posted (edited)
то релей отправляет пакеты от сервера в сторону клиента однако с source port 546 (dhcpv6-client).
Вот это не есть нормально! Клиент как раз смотрит только пакеты с src port 547

однако ж, обратите внимание на то как работает релей в ipv4 - точно так же, через релей пакетики идут с dhcp-client сурсом, вместо dhcp-server, но при этом все работает. тут больше похоже на недопил со стороны dhcpv6-клиента в windows.

точнее он просто не готов к возможному существованию dhcpv6 relay.

 

http://social.technet.microsoft.com/Forums...9a-24e541a224ed - тут эта беда обсуждалась, но решения так и не последовало.

гугл вобще завален темами с "dhcpv6 relay problem" заголовками ;)

Edited by darkagent
Posted

Итог таков:

 

Если используется dhcpv6 relay, то

Встроенный dhcpv6 клиент от Windows не может по каким-то своим причинам обработать ответ от dhcpv6 сервера, назначить адрес на интерфейсе и начать использовать ipv6 DNS сервера.

 

Альтернативный dhcpv6 клиент (например dibbler dhcpv6) под Windows без проблем получает все настройки и все работает.

 

wide-dhcpv6-client под убунтой так же без проблем принимает и обрабатывает ответы сервера и все корректно назначает.

 

В ближайшие пару дней проведу эксперимент будет ли роутер (домашний) с прошивкой поддерживающей ipv6 корректно получать не только для себя адрес, но и блок для устройств за собой.

О результатах отпишусь.

Posted
Клиент запрашивает IPv6 адрес - его отлавливает маршрутизатор и делает ipv6 dhcp-relay на ipv6 адрес где крутится isc dhcpv6.

dhcpv6 видит этот запрос и отправляет ответ.

Если проблема только в адресах - перепишите релей чтобы выдавал то что нужно.

 

 

однако ж, обратите внимание на то как работает релей в ipv4 - точно так же, через релей пакетики идут с dhcp-client сурсом, вместо dhcp-server, но при этом все работает. тут больше похоже на недопил со стороны dhcpv6-клиента в windows.

точнее он просто не готов к возможному существованию dhcpv6 relay.

DHCPv4 - сильно другой протокол, чем DHCPv6, не нужно их сравнивать и хотеть полной идентичности.

DHCPv4 - наследник BOOTP, от него он получил полностью заголовок на 236 байт, которые почти всегда и полностью в нулях, дальше там 4 байта волшебная печенька и дальше расширения вендоров, которые потом стали называть опции.

 

В DHCPv6 изначально нет заголовка такого большого, он там компактный-почти отсуствует, почти сразу идут опции.

 

Кроме того для релеея в в6 выделены специально типы-коды сообщений, а в в4 таких кодов нет, там просто есть поле с адресом релей агента переславшего пакет те фактически там IP который стоит заголовке ип пакета.

 

 

PS: не раньше чем месяца через 3 напишу под дхцпв6 приличный снифер-дампер-клиент пакетов с возможностью запросы слать, примерно как щас заканчиваю под в4 писать.

Posted
Клиент запрашивает IPv6 адрес - его отлавливает маршрутизатор и делает ipv6 dhcp-relay на ipv6 адрес где крутится isc dhcpv6.

dhcpv6 видит этот запрос и отправляет ответ.

Если проблема только в адресах - перепишите релей чтобы выдавал то что нужно.

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

 

провел дополнительный эксперимент - вместо компа в нем участвовал домашний роутер с поддержкой ipv6 и комп подключенный к роутеру.

 

роутер удачно получил айпишник для себя и блок для устройств за собой. винда от роутера так же удачно получила адрес.

 

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

 

навскидку - все что связано с ипв6 в сетях пока либо работает на бумаге либо чисто номинально с минимальным функционалом.

Posted
nashvill, если не трудно, dhcpd6.conf можете показать ?

authoritative;
log-facility local7;

ddns-update-style none;
ignore client-updates;
option dhcp-renewal-time 3600;
option dhcp-rebinding-time 7200;

option dhcp6.rapid-commit;

option dhcp6.name-servers 2a00:11d8::2;
option dhcp6.domain-search "tiera.org";
option dhcp6.preference 255;

option dhcp6.info-refresh-time 21600;

dhcpv6-lease-file-name "/var/db/dhcpd6.leases";

subnet6 2a00:11d8::/126 {
}

subnet6 2a00:11d8:1601::/64 {
range6 2a00:11d8:1601::/64;
}

Posted

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

А где написано что дхцп релей должен вообще что то знать о маршрутах?

Posted
впрочем и тут не без косяка - железный роутер который выступал релеем не создал маршрут выделенного блока на домашний роутер, но это уже вопрос к разработчикам железного роутера.
А где написано что дхцп релей должен вообще что то знать о маршрутах?

Если ничего не путаю, то здесь http://www.ietf.org/rfc/rfc3633.txt

 

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

Вы сами ручками (или скриптом) будете ползать по своим роутерам и прописывать маршрут на эту подсеть?

Posted
Если ничего не путаю, то здесь http://www.ietf.org/rfc/rfc3633.txt
14. Relay agent behavior

 

A relay agent forwards messages containing Prefix Delegation options

in the same way as described in section 20, "Relay Agent Behavior" of

RFC 3315.

 

If a delegating router communicates with a requesting router through

a relay agent, the delegating router may need a protocol or other

out-of-band communication to add routing information for delegated

prefixes into the provider edge router.

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

 

Лично я себе могу много всего представить.

Начиная с L2, которому нет дела до содержимого эзернет кадров, заканчивая примерно тем же самым на адсл в качестве L1.

 

А конкретно для вашего случая: роутер клиента получает блок адресов, из которого берёт себе ИП а остальное отдаёт в локалку - устройствам за роутером, дальше он роутит. Ну да, на внешнем у него будет что вы захотите, на внутреннем то что он сам пожелает, как вариант ленивые китайцы сделают линклокал без вариантов.

В данном случае это никаким боком не релей агент будет, потому что в локалку он будет отдавать со своего дхцп, который вам ничего рассказывать о лизах не станет.

Posted
провел дополнительный эксперимент - вместо компа в нем участвовал домашний роутер с поддержкой ipv6 и комп подключенный к роутеру.

роутер удачно получил айпишник для себя и блок для устройств за собой. винда от роутера так же удачно получила адрес.

а детальней можна как вы выдали подсеть на домашний роутер и как он это скушал чтобы выдать из той получённой подсети адрес ПК
Posted (edited)
А конкретно для вашего случая: роутер клиента получает блок адресов, из которого берёт себе ИП а остальное отдаёт в локалку - устройствам за роутером, дальше он роутит. Ну да, на внешнем у него будет что вы захотите, на внутреннем то что он сам пожелает, как вариант ленивые китайцы сделают линклокал без вариантов.

В данном случае это никаким боком не релей агент будет, потому что в локалку он будет отдавать со своего дхцп, который вам ничего рассказывать о лизах не станет.

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

 

L2 не является delegating router.

 

А в вашем случае - если роутеру выдать ОДИН блок, то при всем желании он не сможет из ОДНОГО блока повесить два адреса (один в сторону оператора, а другой в сторону устройств) на свои интерфейсы.

 

Исходя и обсуждений в интернете по поводу PD и dhcpv6 relay роутер как раз таки ДОЛЖЕН создать такой маршрут.

 

 

провел дополнительный эксперимент - вместо компа в нем участвовал домашний роутер с поддержкой ipv6 и комп подключенный к роутеру.

роутер удачно получил айпишник для себя и блок для устройств за собой. винда от роутера так же удачно получила адрес.

а детальней можна как вы выдали подсеть на домашний роутер и как он это скушал чтобы выдать из той получённой подсети адрес ПК

Тут обсуждение прошивки для домашнего роутера. Как раз один из наших абонентов с нами экспериментирует.

http://wl500g.info/showthread.php?t=24357

 

А в настройках dhcp6 это выглядит так:

 

host 32577844 {

host-identifier option dhcp6.client-id 0:3:0:1:e0:cb:4e:f7:7f:58;

fixed-address6 2a00:11d8:1601:0:1111:1111:1111:1111;
fixed-prefix6 2a00:11d8:1601:7ff8:: /64;
}

Edited by nashvill
Posted (edited)

nashvill, попробовал собрать лабу с вашим dhcpd6.conf - не выходит каменный цветок :( может я /etc/network/interfaces неправильно настроил?

 

auto lo

iface lo inet loopback

 

#auto eth0

iface eth0 inet static

address 10.0.1.107

netmask 255.255.255.0

gateway 10.0.1.1

 

### Start IPV6 static configuration

auto eth0

iface eth0 inet6 static

pre-up modprobe ipv6

address 2a00:11d8:1601:0000:0000:0000:0000:0002

netmask 64

gateway 2a00:11d8:1601:0000:0000:0000:0000:0000

### END IPV6 configuration

/etc/init.d/networking restart -- всё гуд, ipv6 на интерфейсе eth0 вижу

 

eth0 Link encap:Ethernet HWaddr 1c:6f:65:2b:6e:11

inet addr:10.0.1.107 Bcast:10.0.1.255 Mask:255.255.255.0

inet6 addr: 2a00:11d8:1601::2/64 Scope:Общий

inet6 addr: fe80::1e6f:65ff:fe2b:6e11/64 Scope:Link

 

Запрос от испытуемой машины по команде ipv6 renew приходит (WinXPSP2), но адрес не выдается

Edited by ilili
Posted
Запрос от испытуемой машины по команде ipv6 renew приходит (WinXPSP2), но адрес не выдается

из конфига dhcpv6 уберите "authoritative;".

ну и заодно запустите dhcpv6 с ключиком -d чтобы видеть что он вообще пишет при запросах

Posted
Запрос от испытуемой машины по команде ipv6 renew приходит (WinXPSP2), но адрес не выдается

из конфига dhcpv6 уберите "authoritative;".

ну и заодно запустите dhcpv6 с ключиком -d чтобы видеть что он вообще пишет при запросах

Сейчас попробую, спасибо

 

Posted

Вот результат.

Listening on Socket/6/eth0/2a00:11d8:1601::/64

Sending on Socket/6/eth0/2a00:11d8:1601::/64

Solicit message from fe80::187f:ee7c:218a:162d port 546, transaction ID 0xC1AE3700

Picking pool address 2a00:11d8:1601:0:957:efcb:df:69b0

Т.е. по сути приходит только DHCPDISCOVER, который dhcpd получает, но ничего не делает...
Posted

Итак, предварительный результат уже есть. Тестовый клиент с Win7 получил IPv6 адрес вообще без всяких проблем. Только дефолтный шлюз ему не назначается - пока разбираюсь. Если у кого идеи - жду ))

Posted
Роутер абонента получает один адрес для себя и блок из которого раздает адреса устройствам за ним.

 

L2 не является delegating router.

 

А в вашем случае - если роутеру выдать ОДИН блок, то при всем желании он не сможет из ОДНОГО блока повесить два адреса (один в сторону оператора, а другой в сторону устройств) на свои интерфейсы.

 

Исходя и обсуждений в интернете по поводу PD и dhcpv6 relay роутер как раз таки ДОЛЖЕН создать такой маршрут.

Про L2 было к тому что роль CPE не значительна и может быть проигнорирована.

 

Да всё он сможет.

1. Бридж с одним адресом: устройство забирает себе 1 адрес, назначает его внутреннему и внешнему интерфейсам.

Все пакеты снаружи адресованные подсети гонятся внутрь, все пакеты изнутри адресованные не подсети улетают со внешнего интерфейса.

И что то отдельное, возможно с мультикастом.

2. Два адреса - см п1. Разница только в том что будет анонсится в обе сети разные IP адреса для HW адресов интерфейсов.

В обоих случаях в таблице маршрутизации всего две записи: локалка - внутренний интерфейс, дефолт - внешний.

 

Что я упускаю такого, почему это не должно работать? (размер блока меньше 126 в расчёт не берём)

 

 

Всё таки, куда вы собрались ставить "dhcpv6 relay роутер" ?

Это клиентский CPE=роутер?

 

PS: мало ли чего кто где обсуждает.

Posted
Итак, предварительный результат уже есть. Тестовый клиент с Win7 получил IPv6 адрес вообще без всяких проблем. Только дефолтный шлюз ему не назначается - пока разбираюсь. Если у кого идеи - жду ))

А в IPv6 шлюз не DHCP назначает.

 

Вам нужен RA. например radvd сервис используйте.

 

Всё таки, куда вы собрались ставить "dhcpv6 relay роутер" ?

Это клиентский CPE=роутер?

PS: мало ли чего кто где обсуждает.

Релеем у меня выступает мой маршрутизатор, который является фактически шлюзом для абонента.

У абонента есть свой роутер и свои компы.

 

Попробуйте на два интерфейса одного устройства назначить по IP адресу из одного и того же блока (например, на один интерфейс 192.161.0.1/24 а на второй 192.168.0.2/24), а потом уже будем обсуждать дальше все относительно IPv6.

 

Posted
Попробуйте на два интерфейса одного устройства назначить по IP адресу из одного и того же блока (например, на один интерфейс 192.161.0.1/24 а на второй 192.168.0.2/24), а потом уже будем обсуждать дальше все относительно IPv6.
Угу.

Только одно НО: я не говорил что на обоих интерфейсах будет /24

 

Теперь схема.

два роутера, фряха 8.2 х32, фаеры выключены, никаких хаков ядра и пр шарлатанства.

bridge не используется, ни нетграфовский ни обычный.

ТОЛЬКО РОУТИНГ

 

1. Подключён к локалке: 172.16.0.0.24, через неё же PPPoE в инет, через этот пппое обратно 2 впн

является шлюзом по умолчанию для локалки, НАТит и фаерволит в инет.

Фаер отключён только для внутреннего интерфейса.

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
        ether 00:1b:21:4f:f5:b3
        inet 172.16.0.254 netmask 0xffffff00 broadcast 172.16.0.255
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet 127.0.0.1 netmask 0xff000000 
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1492
        inet 92.124.34.252 --> 213.228.116.147 netmask 0xffffffff 
ng1: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1396
        inet 172.16.0.254 --> 172.16.0.241 netmask 0xffffffff 
ng2: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1398
        inet 172.16.0.254 --> 172.16.0.7 netmask 0xffffffff

 

2. Тестовый роутер, туда-сюда.

На время теста подключён к тому же коммутатору что и роутер 1 через re0, к em0 подключён ноут (192.168.0.88)

re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MA
GIC>
        ether 00:1a:4d:55:9a:42
        inet 192.168.0.1 netmask 0xffffffff broadcast 192.168.0.1
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
        ether 00:07:e9:2a:6f:5c
        inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
em1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
        ether 00:07:e9:39:2a:d5
        media: Ethernet autoselect
        status: no carrier
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet 127.0.0.1 netmask 0xff000000

 

3. моя рабочая станция, подключена в свич с роутерами: винда, 172.16.0.3/24, шлюз (роутер1) 172.16.0.254

 

4. ноут, подключён к em0 роутера 2, 192.168.0.88/24 шлюз 192.168.0.1

 

Схема:

 

[192.168.0.88] <----> [192.168.0.1 (em0)==(re0) 192.168.0.1] <--------> { [172.16.0.254] + [172.16.0.3] }

 

и вы думаете оно не работает?))))))))))

А я вам говорю что: 192.168.0.88 видит все компы из 172.16.0.0/24 и ходит в инет

и из 172.16.0.0/24 192.168.0.88 - тоже пингуется.

 

как сделано:

на роутере 1:

1. нужно дать роутеру знать где у нас хост 192.168.0.1 (который шлюз для 192.168.0.0/24)

route add -net 192.168.0.1/32 -interface em0 -iface

 

2. теперь указываем через какой шлюз слать пакеты в сеть 192.168.0.0/24

route add -net 192.168.0.0/24 192.168.0.1

 

 

на роутере 2 аналогично:

1. указываем что хост 172.16.0.254 у нас на этом интерфейсе

route add -net 172.16.0.254/32 -interface re0 -iface

 

2. не долго думая объявляем его шлюзом по умолчанию для всего

route add -net 0.0.0.0 172.16.0.254

 

 

получившиеся таблицы маршрутизации и арп:

роутер 1

Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            213.228.116.147    UGS         0  6030759    ng0
92.124.34.252      link#3             UHS         0    66895    lo0
127.0.0.1          link#2             UH          0  1736721    lo0
172.16.0.0/24      link#1             U           0 17740725    em0
172.16.0.7         link#5             UH          0     6741    ng2
172.16.0.241       link#4             UH          0      385    ng1
172.16.0.254       link#1             UHS         2        2    lo0
192.168.0.0/24     192.168.0.1        UGS         0     1732    em0
192.168.0.1/32     00:1b:21:4f:f5:b3  US          0      258    em0


arp -an
? (192.168.0.1) at 00:1a:4d:55:9a:42 on em0 expires in 58 seconds [ethernet]
? (172.16.0.240) at 00:0e:08:16:31:f1 on em0 expires in 13 seconds [ethernet]
? (172.16.0.241) at 00:1b:21:4f:f5:b3 on em0 permanent published [ethernet]
? (172.16.0.7) at 00:1b:21:4f:f5:b3 on em0 permanent published [ethernet]
? (172.16.0.2) at (incomplete) on em0 expired [ethernet]
? (172.16.0.3) at 00:1a:4d:5e:59:e6 on em0 expires in 99 seconds [ethernet]

 

 

роутер 2:

Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            172.16.0.254       UGS         0      411    re0
127.0.0.1          link#4             UH          0       86    lo0
172.16.0.254/32    00:1a:4d:55:9a:42  US          0     1316    re0
192.168.0.0/24     link#2             U           0     4930    em0
192.168.0.1        link#2             UHS         1        0    lo0 =>
192.168.0.1/32     link#1             U           0        0    re0


arp -an
? (192.168.0.1) at 00:07:e9:2a:6f:5c on em0 permanent [ethernet]
? (192.168.0.88) at 00:1f:c6:6c:e4:7f on em0 expires in 74 seconds [ethernet]
? (172.16.0.254) at 00:1b:21:4f:f5:b3 on re0 expires in 117 seconds [ethernet]
? (192.168.0.1) at 00:1a:4d:55:9a:42 on re0 permanent [ethernet]

 

 

а потом уже будем обсуждать дальше все относительно IPv6
я готов обсуждать дальше, а вы?)
Posted

Я тут попил чаю, и подумал: "какого чёрта!"

 

и сделал на роутере 2:

ifconfig em0 inet 192.168.1.1/32

route add -net 192.168.0.0/24 192.168.1.1

 

А на ноуте поставил шлюз: 192.168.1.1

(напоминаю что ноут: 192.168.0.88 / 255.255.255.0)

 

Теперь с ноута сам шлюз 2: 192.168.0.1 не пингуется, а 192.168.1.1 пингуется.

 

Шлюз 2

re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MA
GIC>
        ether 00:1a:4d:55:9a:42
        inet 192.168.0.1 netmask 0xffffffff broadcast 192.168.0.1
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
        ether 00:07:e9:2a:6f:5c
        inet 192.168.1.1 netmask 0xffffffff broadcast 192.168.1.1
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
em1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
        ether 00:07:e9:39:2a:d5
        media: Ethernet autoselect
        status: no carrier
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet 127.0.0.1 netmask 0xff000000 


Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            172.16.0.254       UGS         0    26104    re0
127.0.0.1          link#4             UH          0      172    lo0
172.16.0.254/32    00:1a:4d:55:9a:42  US          0     6621    re0
192.168.0.0/24     192.168.1.1        US          0      125    em0
192.168.0.1        link#2             UHS         0        0    lo0 =>
192.168.0.1/32     link#1             U           0        0    re0
192.168.1.1        link#2             UHS         0        0    lo0 =>
192.168.1.1/32     link#2             U           0        0    em0

 

 

Вот такой вот ip unnumbered получается обычным роутингом.

 

 

Применительно к обсуждавшемуся выше.

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

Адрес он поставит себе на внешку /128, а внутри может использовать линклокал либо тот же что стоит на внешке, но при этом ему проще выставить реальный префикс.

Либо вообще от балды любой адрес, главное анонсировать его соответствие HW адресу. (и чтобы конфликтов не вызвало)

 

 

PS: в L2 сетях адрес L3 значения не имеет при пересылке пакета в L2, потому можно плевать на L3 адреса, префиксы и пр и слать куда/кому хочется и как хочется :)

Можно даже на L2 роутить и натить :)

Те IPv4, IPv6 или вообще IPX - разницы нет, принцип один.

Posted

Ivan_83, все это конечно очень интересно, но подумайте сами, что Вы продемонстрировали: на платформе с хорошим IP-стеком в ручном режиме можно строить всякие прикольные схемки. Отлично.

Теперь посмотрим, что нужно индустрии. Абонент может подключаться к сети оператора либо непосредственно компом, либо через роутер. Определить тип подключения сложно. Т.е. нужна такая схема, чтобы автоматически работало и то и другое. Поэтому предлагают выдавать IP-адрес для сети между маршрутизатором и BRAS и отдельно префикс на сетку за маршрутизатором. Если у абонента просто комп, то да, выданный префикс просто не используется.

Т.е. проблема совсем не в том, что нельзя отжечь на маршрутизаторе так, как это сделали Вы. А в том, что отжиг этот должен конфигурироваться динамически и конфигурация эта не должна ломаться если вместо маршрутизатора будет комп с виндой. Попробуйте описать какие DHCP опции должен передать Router 1 в сторону Router 2, чтобы то, что вы придумали, заработало. Я например очень сомневаюсь насчет вот этого: route add -net 172.16.0.254/32 -interface re0 -iface Если мне память не изменяет, DHCP не позволяет передать маршрут без next-hop. Да и маска /32 навевает сомнения. :)

IPv6, кстати трудностей добавит т.к. там не рекомендуются маски длиннее /64.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.