[devel] net-scripts и иерархия интерфейсов

Peter V. Saveliev =?iso-8859-1?q?peet_=CE=C1_altlinux=2Eru?=
Пт Окт 17 23:08:44 MSD 2003


On Thu, 16 Oct 2003 15:50:58 +0300 (EEST)
Denis Ovsienko <pilot на altlinux.ru> wrote:

> 
> Предисловие: это относится к той части машин с ALTLinux, которые
> занимаются маршрутизацией, причём не просто eth0<->eth1, а немного
> сложнее.
<skip /> 

(мои 5 коп.)

За всё двумя руками "за". А ещё хочется добавить в net-scripts поддержку
vlan не только на уровне разрешения и установки типа имён, но и чтобы
vlan-интерфейсы можно было прописывать как ifcfg-vlan221 и т.п. Правда,
возможно, это уже есть, а я просмотрел, тогда FR отменяется как
неактуальный :)

Если не ошибаюсь, iptables нормально навешивает правила с опцией -i <if>,
даже если этого <if> ещё не поднято? Тогда, очевидно, можно будет сделать
такой порядок:

1) iptables
2) interfaces
3) iproute2

где iptables - это поднятие netfilter, как и сейчас; interfaces - скрипты
из /etc/sysconfig/network*, как предлагает Денис, затем отдельные
программы, работающие с интерфейсами, вроде vrrpd или vtund (залью
последний не сегодня/завтра); iproute2 - ip/tc инициализация, причём не
только cbq, но и написать бы (на досуге кропаю, как будет что-либо
достойное - выложу) скрипты сохранения/загрузки ip route, ip rule, а также
tc qdisc в полном масштабе, т.е. вместе с ingress и т.п., и tc filter.

На даный момент занят сборкой маршрутизатора, в котором как раз это всё
будет сделано с той или иной степенью кривости ;)

Кстати, может, кому будет интересно: освоили технологию, по которой есть
dhcpd/bootp сервер, к которому цепляются PXE-агенты, есть boot-сервер с
tftp/ftp/nfs, раздающий pxelinux, ядра, initrd - по tftp, корневые
файловые системы - по nfs, архивы корневых фс - по ftp.

При загрузке машина получает ядро, при необходимости - initrd. Дальше
либо клиент монтирует корневую фс по nfs, либо (скрипт в initrd) создаёт
фс в ramdisk, скачивает .tar.gz по ftp и разворачивает его туда, после
чего скачивает специфический etc.tar.gz и тоже разворачивает, делает
pivot_root, chroot, отмонтирует romfs, оставшуюся от initrd. Во втором
случае получаем не просто бездисковый сервер, но и сервер, не зависящий от
nfs, и, как следствие, нечувствительный к пропаданию сети.

Подобная схема оказалась удобна для работы маршрутизаторов,
radius-серверов, как работающих с БД, так и с details (в последнем случае
диск всё же есть, но используется только для /var/log/freeradius).

Что есть: vrrpd, в совокупности с monit он обеспечивает очень быстрое
переключение потока на резервный сервер.

Что будет: vtund, замечательная зверушка, бо туннелит буквально всё,
включая ethernet. По крайней мере, я не нашёл других нормальных реализаций
level2-туннеля.

Что хочется: сделал патч, по материалам vlan-howto, который позволяет
карточкам eepro100, 3c90x и tulip работать с vlan-пакетами от cisco,
которые могут быть больше максимального кадра на 4 байта. Соберу в
kernel-feat, выложу - если примут его, это будет неплохо.


-- 
Sincerely, Peter V. Saveliev

E-mail: peet на altlinux.ru
Jabber: peet на jabber.ru



Подробная информация о списке рассылки Devel