А как Вы бьёте свитч? Надеюсь, с помощью переменных nvram?
Добрый день!
Есть роутер wl550ge, прошита модифицированная прошивка 1.9.2.7-7g
Недавно возникла необходимость использования второго провайдера, для чего был создан интерфейс vlan2.
Вроде все бы ничего, да вот только выходит что второй провайдер воткнут в 1 порт, который до загрузки и выполнения post-boot является обычным портом в свиче. соотв, может получать от роутера DHCP (что грозит граблями провайдеру) и иметь прямой доступ к внутренней сети (что потенциально нехорошо мне)
Как бы сделать так, чтобы все интерфейсы становились активными только после выполнения post-boot ?
А как Вы бьёте свитч? Надеюсь, с помощью переменных nvram?
А еще разбивку интерфейсов можно запихнуть в pre-boot
собственно.. вот мой post-boot
#!/bin/sh
robocfg vlan 2 ports "1 5t" vlan 0 ports "2 3 4 5t"
vconfig add eth0 2
ifconfig vlan2 hw ether xx:xx:xx:xx:xx:xx
ifconfig vlan2 xx.xx.xx.57 broadcast xx.xx.255.255 netmask 255.255.224.0 up
echo "nameserver xx.xx.xx.10" >> /etc/resolv.conf
echo "nameserver xx.xx.xx.132" >> /etc/resolv.conf
iptables -t nat -A POSTROUTING -s 192.168.30.0/24 -d 0/0 -j MASQUERADE
Reyter
а как засунуть разбивку в pre-boot? если можно, подробнее..
Строкуоднозначно нужно прописывать в post-firewall, а не сюда.Code:iptables -t nat -A POSTROUTING -s 192.168.30.0/24 -d 0/0 -j MASQUERADE
А с pre-boot работаем точно так же, как и с post-boot. Создаем там же, деляем его исполняемым и прописываем что нам нужно.
Собственно об этом вполне доступно рассказано здесь.
Перенес это в pre-boot
сделал исполняемым, сохранился.#!/bin/sh
robocfg vlan 2 ports "1 5t" vlan 0 ports "2 3 4 5t"
vconfig add eth0 2
ifconfig vlan2 hw ether xx:xx:xx:xx:xx:xx
ifconfig vlan2 xx.xx.xx.57 broadcast xx.xx.255.255 netmask 255.255.224.0 up
echo "nameserver xx.xx.xx.10" >> /etc/resolv.conf
echo "nameserver xx.xx.xx.132" >> /etc/resolv.conf
В итоге после ребута скрипт не выполняется (во всяком случае, изменения не вносятся). Однако скрипт вручную запустить можно и он отрабатывает нормально.
:\
Вместо того, чтоб в пост-буте каждый раз при загрузке переконфигурировать свитч при помощи robocfg нужно всего-лишь раз поправить nvram:Code:nvram set vlan0ports="2 3 4 5*" nvram set vlan2ports="1 5" nvram commit
Mam(O)n
т.е., сии команды выполнить в консоли и они будут сохранены?
З.Ы. делал по мануалу из соответствующей ветки :\
собственно, тогда более общий вопрос Олегу:
до выполнения Post-boot и всего остального, что грузит АСУС из /usr/local/sbin, роутер уже выполняет какую либо маршрутизацию и обслуживание интерфейсов или нет?
Сии команды поменяют в nvram два параметра после чего свитч будет уже сразу инициализирован как тебе будет нужно. Останется только с помощью vconfig и ifconfig поднять vlan2.
Про пост-бут. Я конечно не Олег и точно не скажу как там всё работает, но есть у меня предположения, что подстройка таблицы маршрутизации согласно настройкам и все остальное, связанное с обслуживанием интерфейсов происходит после pre-boot и продолжает исполнятся паралельно выполнению post-boot.
Last edited by Mam(O)n; 12-11-2007 at 18:48.