ASUS WL5xx: FW 1.9.2.7-d-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | bip irc proxy
ASUS RT-N1x: FW 1.9.2.7-rtn-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | fake ident daemon
А можно ли сбриджовать локалку с ppp? Я попробовал поменять net_id на интерфейсе, и провайдер не против. То есть получилось послать Route Solitation с разных адресов LL, и соответственно сконфигурировать разные адресы из одного префикса. Пинги ходят нормально. Выходит, если сделать прозрачный бридж в локалку, должно заработать.
ppp интерфейс сбриджить нельзя, да даже если и можно pptp станет частью локалки, нафига тогда файрвол, маршрутизация и прочее? очень некрасивое решение
попробуй применить вот этот патчик, ну и выставить accept_ra, accept_redirects на ppp интерфейсе в 2
Code:diff -BurpN linux-2.6.22.19/net/ipv6/ndisc.c linux-2.6/net/ipv6/ndisc.c --- linux-2.6.22.19/net/ipv6/ndisc.c 2010-07-11 00:00:00.000000000 +0000 +++ linux-2.6/net/ipv6/ndisc.c 2010-07-14 19:45:32.000000000 +0000 @@ -1024,7 +1024,7 @@ static void ndisc_router_discovery(struc skb->dev->name); return; } - if (in6_dev->cnf.forwarding || !in6_dev->cnf.accept_ra) { + if ((in6_dev->cnf.forwarding && in6_dev->cnf.accept_ra < 2) || !in6_dev->cnf.accept_ra) { in6_dev_put(in6_dev); return; } @@ -1280,7 +1280,7 @@ static void ndisc_redirect_rcv(struct sk in6_dev = in6_dev_get(skb->dev); if (!in6_dev) return; - if (in6_dev->cnf.forwarding || !in6_dev->cnf.accept_redirects) { + if ((in6_dev->cnf.forwarding && in6_dev->cnf.accept_redirects < 2) || !in6_dev->cnf.accept_redirects) { in6_dev_put(in6_dev); return; }
Last edited by theMIROn; 14-07-2010 at 20:47.
ASUS WL5xx: FW 1.9.2.7-d-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | bip irc proxy
ASUS RT-N1x: FW 1.9.2.7-rtn-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | fake ident daemon
ASUS WL5xx: FW 1.9.2.7-d-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | bip irc proxy
ASUS RT-N1x: FW 1.9.2.7-rtn-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | fake ident daemon
ОК. Я тоже так подумал. Только пока с анонсем слабовато. Но уже получилось выслать пакеты из локалки в инет. Сделал следущее:
1) Получил префикс от провайдера на ppp0 + LL адрес на стороне провайдера.
2) Включил форвардинг , поправил default gw на LL (исчез из таблицы после форвардинга)
3) Перенес полученный префикс на br0, удалив при этом с ppp0 (для роутинга хватити и LL) проблема - не ходят анонсы, комп в локалке видит старые адресы с he.net. Поэтому сконфигурировал ручками адрес на компе из префикса, полученного от провайдера. Роутинг настроил на адрес br0.
4) Пустил пинг с компа с правильным соурс адресом (по умолчанию комп пытается выйти со старым адресом IPv6). Работает.
Вообщем то, так может быть, можно савтоматизировать весь процесс и разобраться с глюками в аноунсинге. Будет работать и маршрутизация, и файервол. Единственное ограничение - у роутера не будет глобального адреса на ppp0, это по идее не мешает, если файерволем пустить траффик только на один адрес на br0.
А это должен делать сам pppd с ipv6cp, оно сконфигурирует только ll
то ест все таки ra пришло с указанием шлюза?
p.s анонсы обычно содержат шлюзы в виде link layer address, а не глобального, это нормально
Так стоп. Зачем переносить на br0? Можно сделать трюк, назначив br0 тот же самый адрес с маской /128.
Анонсы в локалку пойдут только если forward==1 и запустишь radvd с корректным интерфейсом, более того, на br0 адрес по сути и не нужен, достаточно ll
не дошли адверты. можно просто перезапустить интерфейс.
это невозможно, ната в ipv6 нет.
ASUS WL5xx: FW 1.9.2.7-d-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | bip irc proxy
ASUS RT-N1x: FW 1.9.2.7-rtn-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | fake ident daemon
theMIROn
Еще и ipv6: Update Neighbor Cache when IPv6 RA is received on a router не?
ASUS WL5xx: FW 1.9.2.7-d-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | bip irc proxy
ASUS RT-N1x: FW 1.9.2.7-rtn-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | fake ident daemon
Не, шлюз скофигурировался через ipv6cp. Просто потом исчез, когда я включил форвардинг на ppp0. Поэтому поправил вручную.
Я подумал, что если перенесу весь префикс, то роутер его вышлет в локалку через RA - не заработало.
То есть не достаточно просто поменять адрес на интерфейсе, нужно еще поменять конфиг в radvd? У меня через веб сконфигурирован префикс с he.net.
Я правильно понял, префикс на аноунсинг берется с radvd, а не с конфигурации интерфейса?
ASUS WL5xx: FW 1.9.2.7-d-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | bip irc proxy
ASUS RT-N1x: FW 1.9.2.7-rtn-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | fake ident daemon
То есть , в сумме, чтобы заработал доступ из локальной сети с native IPv6 через ppp нужно сделать следующие:
1) Сконфигурировать форвардинг + accept_ra (патч), echo "2" > /proc/sys/net/ipv6/conf/default/accept_ra
2) Сконфигурировать и запустить ppp с +ipv6
3) Написать скрипт, который после получения префикса от провайдера заменит конфигурацию:
- ppp0 - замена адреса на префикс+net_id/128
- radvd - добавить новый префикс
- routing - удалить роутинг на префикс через ppp0, добавить этот роутинг через br0
- ppp0 - замена адреса на префикс+net_id/128
- br0 - замена адреса на префикс+net_id/64
- radvd - добавить новый префикс
- routing - ничего не делаем.
ASUS WL5xx: FW 1.9.2.7-d-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | bip irc proxy
ASUS RT-N1x: FW 1.9.2.7-rtn-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | fake ident daemon
Раз уж пошла такая пьянка, то почему бы заодно не прояснить еще пару вопросов?
У нас сейчас выключены
CONFIG_IPV6_OPTIMISTIC_DAD
CONFIG_IPV6_ROUTE_INFO
может стоит включить?
патч Влада с accept_ra == 2 заменяем на фирменный или добавляем фичу к фирменному патчу?