Попробуй в последней строчке без -o ! br0.
Чевой-то у меня вот такое вот вылезает:
iptables: Chain already exists
iptables: No chain/target/match by that name
iptables: No chain/target/match by that name
iptables v1.2.7a: Can't use -o with PREROUTING
Попробуй в последней строчке без -o ! br0.
В-общем в настоящее время скрипт у меня выглядит следуующим образом:
При его запуске выдается:Code:iptables -N MAC_FILTER iptables -A MAC_FILTER -s 192.168.60.23 -m mac --mac-source 00:08:A1:90:B8:2D -j RETURN iptables -A MAC_FILTER -s 192.168.60.109 -m mac --mac-source 00:80:48:2B:2A:74 -j RETURN iptables -A MAC_FILTER -s 192.168.60.198 -m mac --mac-source 00:02:78:88:01:C5 -j RETURN iptables -t nat -A MAC_FILTER -p tcp --dport 80 -j REDIRECT --to-port 8080 iptables -t nat -A MAC_FILTER -j DROP iptables -t nat -I PREROUTING -d ! $(nvram get lan_ipaddr) -j MAC_FILTER
Code:iptables: Chain already exists iptables: No chain/target/match by that name iptables: No chain/target/match by that name iptables v1.2.7a: Couldn't load target `MAC_FILTER':File not found
-t nat у тебя потерялся:
До его запуска перегрузи роутер(вроде даже можно просто перезапустить впн соединение), дабы очистить таблицы iptables от мусора.Code:iptables -t nat -N MAC_FILTER iptables -t nat -A MAC_FILTER -s 192.168.60.23 -m mac --mac-source 00:08:A1:90:B8:2D -j RETURN iptables -t nat -A MAC_FILTER -s 192.168.60.109 -m mac --mac-source 00:80:48:2B:2A:74 -j RETURN iptables -t nat -A MAC_FILTER -s 192.168.60.198 -m mac --mac-source 00:02:78:88:01:C5 -j RETURN iptables -t nat -A MAC_FILTER -p tcp --dport 80 -j REDIRECT --to-port 8080 iptables -t nat -A MAC_FILTER -j DROP iptables -t nat -I PREROUTING -d ! $(nvram get lan_ipaddr) -j MAC_FILTER
Сейчас скрипт не ругается, но и не редиректит.
У меня все замечательно редиректит. Попробуй --to-port 80 и при неправильном mac-ip попадешь на веб морду роутера. Проверяй настройки веб сервера.
Вопрос, насколько я понимаю, чайниковский, но тем не менее. Четкой инструкции то ли нет на форуме, то ли я плохо искал.
Итак задача: назначить второй IP-адрес на vlan0. Т.е. к примеру уже есть адрес 192.168.1.1 и нужно добавить еще 10.10.10.1
Понимаю, что что-то там с алиасами нужно мудрить, но может кто-то предоставит рецепт в готовом виде?
Last edited by Reyter; 18-09-2007 at 07:37.
И чего такого сложного с алиасами-то?
ifconfig vlan0:0 10.10.10.1 netmask 255.255.255.0 # Добавить алиас
ifconfig vlan0:0 down # Удалить алиас
Last edited by Mam(O)n; 18-09-2007 at 07:41.
По сути верно.
Originally Posted by man ifconfig
Да, хотелось бы сделать именно так. Спасибо.
Действительно, как мне указали, в пункте 13 http://www.wl500g.info/showpost.php?p=20276&postcount=3 расписано как создать интерфейс-алиас для WAN и сделать первый порт свича независимым. Можно ли аналогичным образом сделать независимым Wi-Fi интерфейс?
Судя по тому, что ответов нет, делаю вывод, - пока невозможно выделить Wi-Fi интерфейс по аналогии с одним из поротов свича.
По аналогии нет. Vlan0(LAN) и eth1(WIFI) объединены в br0(bridge) и далее в роутере везде используется он. Можно попробовать из бриджа вывести интерфейс eth1 и назначить ему ip адрес. Управление бриджем ведется командой brctl.
upd
Если конкретнее, то у меня сейчас роутер схавал следующие команды:
но результат проверить пока нечем...Code:brctl delif br0 eth1 ifconfig eth1 192.168.0.11/24
Last edited by Mam(O)n; 04-10-2007 at 08:22.
Интерфейс eth0 это ethernet порты роутера. Если точнее, то это порт, называемый cpu port, встроенного управляемого свитча. Сам свич настраивается с помощью утилиты robocfg. По умолчанию на интерфейс eth0 приходят пакеты, помеченные свичем, согласно настройкам(robocfg), для дальнейшего разруливания их по vlan'ам. В линуксе vlan'ы настраиваются с помощью команды vconfig. По дефолту свитч и вланы настроены следующим образом: vlan0 - порты LAN, vlan1 - порт WAN. Интерфейс eth1 это wifi. Для того чтоб лан порты и wifi были единым целым интерфейсы vlan0 и eth1 объединили в br0 и назначили ему ip адрес.
Маны: brctl vconfig
Про robocfg инфу можно найти только на этом форуме, т.к. это разработка Олега.