Для простого понимания - WAN порт сидит на одной шине, а сконфигурированные 4 порта на другой. В вашем случае да и во многих других одночиповых роутерах на базе Atheros где в него встроены switch порты - конфигурация портов происходит на уровне управления регистрами уже в скомпилированной прошивке или uboot и мало того WAN и LAN1-LAN2 в данном случае независимы друг от друга и ни какой программы в прошивки нет для управления в данном случае портами.
Можно было бы попытаться попробовать что-то изобрести - это, то что из LAN1-LAN4 вырезать порт, попробовать вот тут что есть из данных http://www.dd-wrt.com/phpBB2/viewtopic.php?p=725071
т.е. на оставшихся 4 портах (где они все объединены) поднять два vlan - 1 и 2, на 2 через dd-wrt в WEB посадить WAN порт на данный vlan 2 (используя http://192.168.1.1/Networking.asp - Port Setup WAN -> Port Assignment выбрать новый поднятый vlan 2), так же разобраться с остальными оставшимися портами switch например LAN2-LAN4 включив их в vlan 1, и заново собрать мост br0, так как ранее br0=ath0+eth0, а новый уже будет br0=ath0+vlan1.
Но для работы с vlan нужен один порт для CPU, на котором будет тег.трафик от двух vlan 1 и 2. Тут первая фишка. Вторая фишка для отладки команд решаема, так как при настройки будут отключены LAN порты то доступ к роутеру можно получить только по wi-fi, но предварительно вытащить его из br0, было br0=ath0+eth1 должно стать br0=ath0.
Code:
The AR9331 supports four LAN ports and one WAN port with integrated PHY. LED indicationfor each port is supported. The four LAN ports connect to the CPU through a GMII interface,and four Tx queue priorities are supported in each LAN port. The WAN port can be configuredto connect to the CPU using a dedicated MII interface. The MII interface can support up to fourpriority queues, with either simple priority or a weighted round robin arbitration mechanism.Switch functions such as QoS and VLAN are supported.
...
The Ethernet Switch controller performs themajority of the switch functions of the AR9331.The controller contains five 10/100 Mbps FastEthernet ports, each containing four levels of Quality of Service, 802.1Q VLANs, port basedVLANs and RMON statistic counters. The AR9331 integrates five 10/100 two speedEthernet transceivers (PHYs) and one singleport 10/100/1000 media access controllers(MAC) as well as a wire-speed, non-blockingshared memory switch fabric.
VLAN - Port-Based
Each ingress port contains a register restricting the output (or egress) ports it can send framesto. This port-based VLAN register has a field called PORT_VID_MEM that contains the port based setting. If bit [0] of PORT_VID_MEM is set to one, the port is allowed to send frames toPort 0, bit [2] for Port 2, and so on. At reset, each port’s PORT_VID_MEM is set to a value of all1s, except for each port’s own bit, which clears to zero. Note that the CPU port is port 0.
Так что лучше наверное подумать тогда о покупке нового, но хотя бы чтоб switch был выполнен на отдельной микросхеме, тогда будет маленький но шанс, что при порче WAN порта его заменить на один из LAN портов.
Здравствуйте, tp-link 741nd, ver 2.1, точно также сгорел Wan-порт - хотел переназначить на порт 3 - получилось. Слава dd-wrt!
По совету vasek00, всё работает - действительно - делаем 2 vlan'а. В одном - нужный нам порт, во втором все остальные порты, ну и ещё кое-что - добавляем в br0 все остальные порты.
Нажимаем "Apply Settings". Вероятно через какое-то время Ваш роутер перезагрузится(у меня через 30 секунд), не забудьте воткнуть провод от провайдера в port 3 .
Но перезагружается в данном случае он несколько странно - всё вроде бы сохранилось, однако если выключить/включить питание - часть настроек сбрасывается(VLAN'ы и swconfig)... Чтобы не мучаться просто добавил в Startup: идём в http://192.168.1.1/Diagnostics.asp (Administration -> Commands)
В Startup'е нажимаем "Edit" и добавляем:
Code:
vconfig add eth1 2
vconfig add eth1 3
ifconfig eth1.2 up
ifconfig eth1.3 up
swconfig dev eth1 vlan 2 set ports '0t 3'
swconfig dev eth1 vlan 3 set ports '0t 1 2 4'
swconfig dev eth1 set enable_vlan 1
swconfig dev eth1 set apply 1
brctl addif br0 eth1.3
brctl delif br0 eth1
Спасибо большое!
Присутствует такая проблема:
После перезагрузки роутера интернет не поднимается, пока не нажмешь в меню Setup - Basic Setup кнопку Apply Settings либо Setup - Networking кнопку Apply Settings. Через 30 секунд после этого интернет появляется. Есть ли какая команда аналогичная этой кнопке, чтобы ее можно было добавить в скрипт?
Спасибо большое!
Присутствует такая проблема:
После перезагрузки роутера интернет не поднимается, пока не нажмешь в меню Setup - Basic Setup кнопку Apply Settings либо Setup - Networking кнопку Apply Settings. Через 30 секунд после этого интернет появляется. Есть ли какая команда аналогичная этой кнопке, чтобы ее можно было добавить в скрипт?
Уже несколько раз писалось, что скрипт который в StartUp начинает работать уже после того как dd-wrt настроит свои сетевые интерфейсы по умолчанию.
Нужна информация от вас вид подключения от провайдера (так как вариантов много, то и решения могут быть разные) и добавив в ваш скрипт в конце следующие строчки, что получилось в данных файлах if_1 if_2 br_1 ps_1 ps_2, sleep 31 обязателен :
Не вижу необходимости в команде sleep 20 в скрипте который был постами выше и наверное взят вами за основу, вот мое предложение и исправления если имеем подключение просто pppoe без наличия IP на WAN порту, где были следующие имена eth1 интерфейс LAN портов, eth0 интерфейс WAN порта.
Code:
brctl delif br0 eth1
swconfig dev eth1 set enable_vlan 1
swconfig dev eth1 vlan 2 set ports '0t 3'
swconfig dev eth1 vlan 3 set ports '0t 1 2 4'
swconfig dev eth1 set apply 1
vconfig add eth1 2
vconfig add eth1 3
ifconfig eth1.2 up
ifconfig eth1.3 up
brctl addif br0 eth1.3
echo -e "plugin /usr/lib/rp-pppoe.so
По поводу вопроса 30сек, опять же уже писалось, что есть такой сервис запущенный /tmp/ppp/redial 30 (правда это просто линк на rc, но роли не меняет) вот он то как раз и производит запуск демона pppd результатом его выполнения будет поднят интернет канал с видом подключения pppoe, кто то ведь должен контролировать канал ppp
Нужна информация от вас вид подключения от провайдера (так как вариантов много, то и решения могут быть разные) и добавив в ваш скрипт в конце следующие строчки, что получилось в данных файлах if_1 if_2 br_1 ps_1 ps_2, sleep 31 обязателен :
Спасибо за то, что помогаете! На WAN порту у меня обычное подключение через DHCP. Т.е. роутер получает настройки IP и выходит через интернет. Без pppoe и pptp. Сменил скрипт на вашу версию:
Code:
brctl delif br0 eth1
swconfig dev eth1 set enable_vlan 1
swconfig dev eth1 vlan 2 set ports '0t 3'
swconfig dev eth1 vlan 3 set ports '0t 1 2 4'
swconfig dev eth1 set apply 1
vconfig add eth1 2
vconfig add eth1 3
ifconfig eth1.2 up
ifconfig eth1.3 up
brctl addif br0 eth1.3
Но пока не нажмешь Apply Settings в Setup - Networking, то интернет не заработает.
Как бы по лучше сказать.
Команда которая используется в данном скрипте swconfig используется для конфигурации switch (свитча) который находиться не в CPU роутера, а на отдельной микросхеме. По простому в dd-wrt это можно определить по именам сетевых интерфейсов, если имена eth0 и eth1 то перенастроить порты не удастся (речь ведем об роутерах на Atheros), если имена интерфейсов, типа vlan1 и vlan2, то роутер в своем составе может иметь внешний switch о котором мы говорили чуть выше и в данном случае перестройка возможна.
На котором можно :
(LAN1-LAN4(Switch-чип)--eth1-CPU-eth0--(WAN) (LAN1-LAN4/WAN)--eth...-CPU
на котором нельзя :
(LAN1-LAN4)--eth1-CPU-eth0--(WAN)
Во втором случае возможно использования роутера в качестве точки доступа, т.е. в любой LAN порт включаем кабель от провайдера в WEB говорим что у нас WAN порт на интерфейсе eth1, естественно не о какой речи тогда с LAN портами быть не может.
Осмыслив информацию выше рассмотрим вашу ситуацию.
Из ваших сообщений видно :
- имеем интерфейсы eth0 и eth1
- в br0 находятся ath0 eth0 и добавленный через скрипт eth1.3, но самого eth1.3 нет в отличие от eth1.2 который появился.
Мне только не понятно почему решили что что-то сгорело, на ваших интерфейсах
Есть и принятые пакеты и переданные, возможно сгорел только выходной трансформатор который стоит перед портом?
-----------------------------------------------
Примечание:
Для определения имя сетевого интерфейса WAN порта необходимо в настройках WAN порта выставить ему стат IP например 10.10.10.10 и посмотреть потом через команду ifconfig какое имя он имеет.
У меня несколько таких маршрутизаторов на руках и у всех не рабочие WAN порты после молнии. Возможно, если заменить какую-нибудь радиодеталь, то он и заработает. Но это не моя стезя.
ifconfig говорит, что WAN портом является eth1.2. Я вас правильно понимаю, что решить мою проблему невозможно? Переназначить WAN на 1 или сразу 2 порта из LAN? Только если все забриджеванные порты LAN можно сделать WAN и раздавать интернет только через WI-FI?
Но ведь у меня все работает как надо, если нажать Apply Settings в веб-конфигураторе. Разве нет какой-нибудь команды заменяющей эту кнопку, чтобы прописать ее в скрипт автозагрузки?
У меня несколько таких маршрутизаторов на руках и у всех не рабочие WAN порты после молнии. Возможно, если заменить какую-нибудь радиодеталь, то он и заработает. Но это не моя стезя.
По поводу детали, это в конкретном случае, а для других можно и по другому, например написанием программы которая бы из командной строки меняла настройки внутреннего switch - для Atheros управление switch и их настройка происходит в uboot.
Сам принцип работы dd-wrt как и многих роутеров это наличие двух физ.интерфейсов
Code:
CPU- eth0 <-> WAN порт
+--- eth1 <-> 4 LAN Port
или двух vlan.
Code:
CPU- eth0 - vlan2 <-> WAN порт
+---- vlan1 <-> 4 LAN Port
ifconfig - утилита конфигурирования сетевых интерфейсов, которые уже есть в системе.
Code:
vconfig add eth1 2
вот от куда появился (vlan) данный интерфейс на базе eth1 и получил имя eth1.2, такая же команда была и для другого (vlan) eth1 3, но в скрипте есть команда которая включает его eth1.3 в мост с br0. Тогда следует, что eth1.2 планируется для системы в качестве WAN порта - это указывается для системы в настройках WEB какой интерфейс использовать в качестве WAN порта.
batmanblood wrote:
Я вас правильно понимаю, что решить мою проблему невозможно? Переназначить WAN на 1 или сразу 2 порта из LAN?
Только если все забриджеванные порты LAN можно сделать WAN и раздавать интернет только через WI-FI?
Но ведь у меня все работает как надо, если нажать Apply Settings в веб-конфигураторе. Разве нет какой-нибудь команды заменяющей эту кнопку, чтобы прописать ее в скрипт автозагрузки?
Вопрос что работает и что в вашем понятие как надо?
Если ПК подключить к порту LAN и присвоить ему IP из 192.168.1.2 то будет ли на нем интернет или получая автоматом на данном ПК IP по DHCP получит ли он именно IP из сетки роутера 192.168.1.х, а может получит какой то IP от провайдера, так как ПК включен в один из LAN порт, а в другой LAN порт включен так же кабель от провайдера и т.д?
В каком режиме роутер?
У вас по тем данным, что выше и если убрать действие команд в скрипте то :
ath0 - HWaddr C0:4A:00:64:E3:98 (wi-fi)
br0 - HWaddr C0:4A:00:64:E3:97 и 192.168.1.1
eth0 - HWaddr C0:4A:00:64:E3:97
eth1 - HWaddr C0:4A:00:64:E3:99
а в br0 находится eth0+ath0
Вывод напрашивается сам собой eth1 ну никакого отношения не имеет к LAN портам, так как по умолчанию в br0 находиться должны - сетевой интерфейс отвечающий за порты LAN и интерфейс за Wi-Fi.
Покажите то состояние как вы говорите, что у вас после "Apply" все работает - тогда нужен ifconfig и brctl show. У вас на одном из интерфейсов при получении DHCP IP - должен быть IP от провайдера, другой интерфейс должен быть в бридже (br0), два эти интерфейса должны иметь отличные IP друг от друга.
Сам принцип работы dd-wrt как и многих роутеров это наличие двух физ.интерфейсов
Code:
CPU- eth0 <-> WAN порт
+--- eth1 <-> 4 LAN Port
или двух vlan.
Code:
CPU- eth0 - vlan2 <-> WAN порт
+---- vlan1 <-> 4 LAN Port
Спасибо за теорию. Мне это действительно интересно.
vasek00 wrote:
Если у вас роутер который в начале поста wr741nd v.4 то не получиться - в нем один чип Atheros AR9331
Честно признаться у меня TL-WR740N(RU) v4.25. Но там такой же чип. Но дело в том, что у топикстартера же получилось решить проблему путем вырезания одного LAN порта из моста.
vasek00 wrote:
Вопрос что работает и что в вашем понятие как надо?
К реальному 1-ому LAN порту роутера(в DD-WRT он обозначен, как 3-ий порт) подключен провод от провайдера. После обычной перезагрузки роутера на этот порт по DHCP адрес от провайдера не получает (даже, если в будущем полученный адрес прописать статически, то интернет не заработает). Вот если после включения зайти на веб-интерфейс роутера и нажать Apply Settings, то через определенное время (меньше минуты) интернет работает и через wi-fi и через остальные 3 порта LAN. После включения роутера компьютеры получают адреса из подсети 192.168.1.0/24 по DHCP по Wi-Fi и по LAN 2-4 до и после нажатия кнопки Apply Settings.
Вот результат команд ifconfig и brctl show после нажатия кнопки Apply:
Интересует первоначальное состояние роутера, т.е. с настройками - кабель подключен к WAN порту, нет скриптов и все остальные настройки произведены. Покажите ifconfig и brctl.
Теперь по вашему посту.
1. значения полей в http://192.168.1.1/Networking.asp
"Current Bridging Table" что находиться в br0 и "Port Setup" какой интерфейс указан для WAN порта?
2. что показывает swconfig dev eth1 show?
3. смена номера LAN порта например на "1" куда подключается кабель от провайдера?
4. роутер в режиме "AP"
Cостояния роутера в данном случае после кнопки "Apply":
192.168.1.1 = br0 и в нем eth0+eth1+ath0
бридж C0:4A:00:64:E3:97 что тут делают оба eth0 и eth1, такое может быть например если роутер не в режиме "AP", а в режиме ХХХХХ bridge, в данном случае это интересно.