Posted: Tue Feb 11, 2014 13:39 Post subject: WR741ND-Разделение портов на 2 LAN инт
Граждане специалисты прошу помочь...
Оборудование TP-LINK741ND v4.25
Прошивка ddwrt
от BrainSlayer-V24-preSP2 01-10-2014-r23320-fix
Задача стояла такая - разделить порты на два LAN интерфейса.
Скрипт написал... при перезагрузки все прекрасно работает... но только как выключаю роутер и включаю ... то порты работают как в стандартных настройках т.е. все вещают в настройках установленных для моста br0 (настройки для br0 на странице WEB->Setup->Basic Setup )
Параметры
1 порт - сеть 192.168.222.1/28 - no DCHP
2-4 порт + WiFi - сеть 192.168.1.1/24 - DHCP
ath0-WiFi
eth0-WAN
eth1-LAN 1-4
вирт.интерфейсы
eth1.1-LAN1 (на уровне железа- порт 2)
eth1.2-LAN2-4 (на уровне железа порты 3,4,1)
Скрипт сохраняю в Admin-> Commands ->save Firewall
vconfig add eth1 1
vconfig add eth1 2
vconfig add eth0 3
ifconfig eth1.1 up
ifconfig eth1.2 up
ifconfig eth0.3 up
swconfig dev eth1 vlan 1 set ports '0t 2'
swconfig dev eth1 vlan 2 set ports '0t 1 3 4'
swconfig dev eth1 set enable_vlan 1
brctl addbr br1
ifconfig br1 inet 192.168.1.1 netmask 255.255.255.0
brctl delif br0 ath0
brctl addif br1 ath0
brctl addif br1 eth1.2
brctl addif br0 eth1.1
brctl delif br0 eth1
ifconfig br1 up
#(удаляю eth1 из моста br0 иначе 1 LAN порт(swith port - 2) не вещает)
Повторюсь - проблема в том что настройки рабочие и при перезагрузке работают... до момента выключения - выключил включил... и все порты начинают работать в стандартных настройках моста Br0. При этом скрипт исполнен т.е. вирт интерфейсы созданы, присвоены к ним порты, интерфейсы распределены по мостам (ifconfig и swconfig показывают настройки как должны быть).
см. пока писал, пришла в голову мысль прописать в скрипт sleep ....
Готовы выслушать умные мысли...
Last edited by AlexeyP on Tue Feb 11, 2014 20:55; edited 1 time in total
# активируем вирт интерфейсы
ifconfig eth1.1 up
ifconfig eth1.2 up
# добавляем в вирт интерфейсы физ.порты
swconfig dev eth1 vlan 1 set ports '0t 2'
swconfig dev eth1 vlan 2 set ports '0t 1 3 4'
# активируем вирт. интерфейсы
swconfig dev eth1 set enable_vlan 1
# сохраняем параметры физ.интерфейса
swconfig dev eth1 set apply 1
# создаем мост br1 и добавляем в него интерфейсы
brctl addbr br1
ifconfig br1 inet 192.168.1.1 netmask 255.255.255.0
brctl delif br0 ath0
brctl addif br1 ath0
brctl addif br1 eth1.2
brctl addif br0 eth1.1
brctl delif br0 eth1
ifconfig br1 up
#включаем NAT чтобы инет заработал на мосте br1
iptables -t nat -I POSTROUTING -o `get_wanface` -j SNAT --to `nvram get wan_ipaddr`
# все комменты на русском удалить... из скрипта
Внимание: при включении инет кабеля в WAN порт - мост br1 напрочь отказывается работать. Чтобы заработало нужно продублировать настройки моста br1 в web панели setup->Networks->(создаем мост br1 и добавляем в него соотв.интерфейсы). - В чем косяк -не стал разбираться... Если мост настроить в веб морде но не прописать в скрипте то возможно что созданные вирт. интерфейсы не попадут в данный мост при перезагрузке или вкл/выкл (тестите).
Доп настройки сетей и Firewall http://www.dd-wrt.com/wiki/index.php/Separate_Lan_and_WLan
((((((Во тухляк!!!!! Сам задаю вопросы - сам их решаю...
По вашим умозаключениям помочь конечно не смогу, но вопросы есть
У меня TP-Link TL-WR841N 8.1
прошит последней DD-WRT v24 sp2
Проблема в выгоревшем WAN.
Задача: один физический LAN перевести в WAN
При этом оставить 3 оставшихся порта для раздачи интернета. WLAN (WiFi) при этом тоже должен быть в раздаче интернета и быть в одной подсети с LAN.
Подключения по LAN и WLAN получают адреса от DHCP.
WAN получает динамический ip.
Решение похоже на ваше, но только как то надо прописать eth1.1-LAN1 (на уровне железа- порт 2) как WAN
Все зависит от того устройства которое у вас есть.
Описанное выше устройство имеет наименование интерфейсов eth0 и eth1 это говорит о том что это два физических интерфейса и по умолчанию как и написано eth0-WAN, eth1-LAN, ath0-Wifi, br0=eth1+ath0. Следовательно я бы поступил по другому в данном случае:
1. убрать из моста br0 интерфейс с именем eth1 оставив в нем ath0 тем самым сохранив уже настроенный br0 и его IP
2. создать два новых интерфейса vlan в замен eth1 (на нем все равно не было IP)
-eth1.1 LAN2
-eth1.2 LAN1,3-4
3. включить обратно любой выбранный интерфейс eth1.2 или eth1.1 в мост br0
4. на оставшемся после п.3 eth1.? поднять IP, прописать для данного интерфейса нужные правила iptables для доступа клиентов которые будут подключены к нему.
Примечание которое нужно будет учитывать это то, что все скрипты в dd-wrt по работе с интерфесами и программы при подключении PPP используют переменные которые записаны в nvram, например такие (могут быть другие, опять же зависит от типа роутера):
Переменные заносятся в память через настройки WEB роутера во время его настройки.
Описанные переменные используются в устройствах на которых WAN порт и LAN порт "сидят" на одном физическом например eth0 (т.е. switch имеет все пять портов WAN+LAN1+...+LAN4), тогда имена интерфейсов имеют уже имена vlan1 и vlan2, опять же это можно изменить через WEB по адресу http://192.168.1.1/Networking.asp где какой интерфейс.
Определитесь со своими именами интерфейсов через команду "ifconfig" и "nvram show | grep ifname".
Выполнен скрипт через поле "Команды" при запуске роутера.
sleep 1
vconfig add eth1 1
vconfig add eth1 2
ifconfig eth1.1 up
ifconfig eth1.2 up
swconfig dev eth1 vlan 1 set ports '0t 2'
swconfig dev eth1 vlan 2 set ports '0t 1 3 4'
swconfig dev eth1 set enable_vlan 1
swconfig dev eth1 set apply 1
brctl delif br0 eth1
brctl addif br0 eth1.2
На 2 LAN порт переназначен WAN. Интернет приходит. IP адрес на 2 порт получает. Далее по WIFI интернет раздает.
На оставшиеся LAN поднят DHCP , но доступа к роутеру нет и интернет не приходит. По LAN нет доступа к роутеру и по telnet.
Что еще поправить чтоб получать все таки инет по LANу
У вас интернет пришел на WAN порт и адрес 192.168.101.105, роутер имеет 192.168.1.1. По iptables у вас есть правила для br0 и eth1.1, а что у нас в br0 команда brctl show
Так же проверьте http://192.168.1.1/Networking.asp "Port Setup" и "Current Bridging Table"
И попробуйте еще так
Code:
brctl delif br0 eth1
swconfig dev eth1 set enable_vlan 1
swconfig dev eth1 vlan 1 set ports '0t 2'
swconfig dev eth1 vlan 2 set ports '0t 1 3 4'
swconfig dev eth1 set apply 1
vconfig add eth1 1
vconfig add eth1 2
ifconfig eth1.1 up
ifconfig eth1.2 up
brctl addif br0 eth1.2
Исправлен скрипт на приведенный вами.
По LAN DHCP не поднимается. По WLAN: инет идет, DHCP работает. На переназначенный WAN (бывший LAN2) инет приходит.
Вы не видите не стыковку по информации наbr0, а почему на скрине по команде "brctl show" у вас в мосту br0 находятся eth0 eth1 ath0, в место того как в web - ath0 и eth1.2.
У вас режим на роутере случаем не Client-Bridge , потому что все интерфейсы сидят реально в br0, а созданных вами и не пахнет.
Исправьте скрипт для контроля выполнения команд, так же поставив двойные кавычки:
Code:
ifconfig > /tmp/ifconf-1.txt
brctl show > /tmp/br-1.txt
brctl delif br0 eth1
brctl show > /tmp/br-2.txt
sleep 1
swconfig dev eth1 set enable_vlan 1
swconfig dev eth1 vlan 1 set ports "0t 2"
swconfig dev eth1 vlan 2 set ports "0t 1 3 4"
swconfig dev eth1 set apply
vconfig add eth1 1
vconfig add eth1 2
ifconfig eth1.1 up
ifconfig eth1.2 up
brctl addif br0 eth1.2
brctl show > /tmp/br-3.txt
sleep 1
ifconfig > /tmp/ifconf-2.txt
после войти через телнет и просмотреть содержимое данныйх файлов на каком этапе и что происходит в реальности:
Но получается так , что стоит перезагрузить роутер и в br0 появляется eth0.
Если принудительно через telnet удалить из br0 интерфейс eth0, то доступ к роутеру по LAN пропадает.
Похоже все LAN висят на одном свиче , если я правильно понимаю ?
Но получается так , что стоит перезагрузить роутер и в br0 появляется eth0.
Если принудительно через telnet удалить из br0 интерфейс eth0, то доступ к роутеру по LAN пропадает.
Похоже все LAN висят на одном свиче , если я правильно понимаю ?
Ну вообще то, думаю понятно было что удалив интерфейс пропадет LAN, доступ останется только по wi-fi.
В роутере есть физ.инерфейс eth0 (WAN порт) и eth1 - switch с LAN портами.
Должно получиться например на двух vlan, где eth0 просто не используется, так как например WAN порт сгорел.
----------------------eth0--+CPU
WAN---eth1.1--+-eth1--+
LAN2--eth1.2--|
LAN3--eth1.2--|
LAN4--eth1.2--+
Или другая схема
WAN---vlan1--+-eth0--+CPU
LAN1--vlan2--|
LAN2--vlan2--|
LAN3--vlan2--|
LAN4--vlan2--+