PDA

Просмотр полной версии : Slackware start script (vlan/eth/route)


Карим
07.03.2008, 14:57
Доброго времени суток. Не так давно перешел на Линук и некоторые моменты пока вызывают сложности. Нужно автоматизировать эти две задачи при включении компа.

Задача 1 (домашний комп): При включении компьютера, карточка eth0 получает по DNS ip и dg. Дальше я ручками запускаю ./vpn_connect. Поднимается интерфейс ppp0. Потом поправляю маршрутизачию

route add -net 10.0.0.0/8 gw ip(eth0) -- Заварачиваю весь трафик внутреней сети в gw локальной сети.
route del default gw ip -- Удаляю старый
route add default gw ppp0 -- Прописываю новый

Задача 2 (рабочий комп): При включении я выполняю
ifconfig eth0 up
vconfig add eth0 10
vconfig add eth0 101
ifconfig eth0.10 192.168.10.10
ifconfig eth0.101 192.168.101.101
route add default gw 192.168.10.10

---- Кое какую инфу нашел на ОпенНет в форуме:
Сообщение от vbv on 04-Окт-07, 22:44
>Добрый день!
>Проясните плиз,
>Создал несколько Vlan-ов, все нормально, работает. Как сделать так, что б после
>перезагрузки эти vlan создавались автоматически?
>Спасибо!
Написать скрипта и добавить вызов его в конец /etc/rc.d/rc.inet1
т.е.
1. Пишем скрипта /etc/rc.d/rc.vlan
/sbin/ip link set up eth0
/sbin/vconfig add eth0 11
/sbin/vconfig add eth0 12
/sbin/ip link set up eth0.11
/sbin/ip link set up eth0.12
/sbin/ip addr add 192.168.1.1/24 dev eth0.11 broadcast +
/sbin/ip addr add 192.168.2.1/24 dev eth0.12 broadcast +
2. Добавляем вызов в раздел start файла /etc/rc.d/rc.inet1
. /etc/rc.d/rc.vlan
PS: Это не совсем корректная система поднятия т.к. скрипты последних sackware-й подразумевают перевод интерфейсов в up и down состояние.
Но по крайней мере это работоспособно.
Потом при желании можно дополнить этот скрипт реакцией на start и stop, для полного соответствия.
---

Так вот подскажите как решить эту задачу красиво и акуратно)) Пожалуйста не посылайте на google) Пока пойду читать http://wiki.kryukov.biz/wiki/Система_инициализации_Slackware_Linux

Артур Крюков
07.03.2008, 22:32
Как много букаФок :)

На втором курсе "Расширенное администрирование Linux" в конце раздела, посвященного firewall есть пример правильного (по моему мнению :boast: ) варианта скрипта rc.inet1.

#! /bin/sh
start()
{
/etc/rc.d/rc.fw start
echo "ifconfig lo 127.0.0.1"
echo "ifconfig lo 127.0.0.1" | /usr/bin/logger
/sbin/ifconfig lo 127.0.0.1
/sbin/route add -net 127.0.0.0/8 lo
echo "ifconfig eth0 192.168.10.69"
echo "ifconfig eth0 192.168.10.69" | /usr/bin/logger
/sbin/ifconfig eth0 192.168.10.69
/sbin/route add default gw 192.168.10.1
}
stop()
{
echo "ifconfig eth0 down"
echo "ifconfig eth0 down" | /usr/bin/logger
/sbin/ifconfig eth0 down
echo "ifconfig lo down"
echo "ifconfig lo down" | /usr/bin/logger
/sbin/ifconfig lo down
/etc/rc.d/rc.fw stop
}
case $1 in
stop) stop;;
*) start;;
esac

rc.fw - это скрипт, ответственный за firewall.
Вставьте сюда необходимые вам строки и замените стандартный файл rc.inet1.

PS: Это не совсем корректная система поднятия т.к. скрипты последних sackware-й подразумевают перевод интерфейсов в up и down состояние.
Да пофиг.

При включении компьютера, карточка eth0 получает по DNS ip и dg.
Вы мало, мало ошиблись. DNS не может выполнять функции DHCP :)

Карим
11.03.2008, 14:36
Да немножко ошибся) Спасибо за ответ. А то уже месяц прописывал настройки при загрузке))