[SOLVED] netcfg и 2 сетевки

Собсно ситуация. Есть сетевка с инетом 10.0.1.0/24 настраиваемая таким образом

cat /etc/network.d/inet
CONNECTION='ethernet'
DESCRIPTION='A basic dhcp ethernet connection using iproute'
INTERFACE='lan1'
IP='dhcp'
## for DHCPv6
#IP6='dhcp'
## for IPv6 autoconfiguration
#IP6='stateless'
и есть сетевка внутренней сети, которая настраивается следующим конфигурационным файлом
 cat /etc/network.d/kspd
CONNECTION='ethernet'
DESCRIPTION='A more versatile static ethernet connection using iproute'
INTERFACE='lan0'
IP='dhcp' # тут тоже DHCP (((
# Any valid iproute command can be placed in this array
POST_UP='sleep 5'
POST_UP="route add -net 10.145.3.0/23 gw 10.145.3.1 dev lan0"
POST_UP="route add -net 10.144.0.0/16 gw 10.145.3.1 dev lan0"
POST_UP="route add -net 10.168.1.0/24 gw 10.145.3.1 dev lan0"
POST_UP="route del default gw 10.145.3.1" # Для удаления второго дефолтного шлюза, который прописывается в маршрутах при получении IP
Проблема в том, что маршруты, написанные в POST_UP не появляются в таблице маршрутизации, хотя удаление второго дефолтного шлюза проходит и инет на машине есть.
Таблица маршрутизации после старта net-profile выглядит так:
 route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         nsg-mts.virtual 0.0.0.0         UG    202    0        0 lan1
10.0.1.0        *               255.255.255.0   U     202    0        0 lan1
10.145.3.0     *               255.255.254.0   U     203    0        0 lan0
Подскажите, куда запихать маршруты, чтоб они подхватывались при получении IP адреса на lan0.
madmax, POST_UP это переменная, а вы пытаетесь присвоить ей последовательно разные значения. Разумеется, в ней остаётся только последнее. Курите внимательнее тот пример, откуда вы это взяли – там должно быть написано иначе.
Natrio, спасибо огромное, который раз меня - нуба выручаете.
cat /etc/network.d/kspd
CONNECTION='ethernet'
DESCRIPTION='A more versatile static ethernet connection using iproute'
INTERFACE='lan0'
IP='dhcp' # тут тоже DHCP (((
# Any valid iproute command can be placed in this array
POST_UP="sleep 5; route add -net 10.145.3.0/23 gw 10.145.3.1 dev lan0; route add -net 10.144.0.0/16 gw 10.145.3.1 dev lan0; route add -net 10.168.1.0/24 gw 10.145.3.1 dev lan0; route del default gw 10.145.3.1" 
Конечно теперь все заработало.
Спасибо еще раз
POST_UP='sleep 5;'
POST_UP+="route add -net 10.145.3.0/23 gw 10.145.3.1 dev lan0;"
POST_UP+="route add -net 10.144.0.0/16 gw 10.145.3.1 dev lan0;"
POST_UP+="route add -net 10.168.1.0/24 gw 10.145.3.1 dev lan0;"
POST_UP+="route del default gw 10.145.3.1;" # Для удаления второго дефолтного шлюза, который прописывается в маршрутах при получении IP
Вот так тоже можно вроде… И эстетичнее смотрится )))
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Фиг с ней, с эстетикой ;) Лишь бы работало )
nafanja
Вот так тоже можно вроде… И эстетичнее смотрится )))
Вот за это я и не люблю netcfg!
Нормальные скрипты – проще и эстетичнее :)
Natrio, так netcfg почти весь на баше…
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja
Natrio, так netcfg почти весь на баше…
Правильно, именно поэтому проще писать команды по-нормальному, а не в строчку :)
Ну тогда они будут выполняться не там и не так как задумано разрабами.
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja
Ну тогда они будут выполняться не там и не так как задумано разрабами.
Так я же не собираюсь использовать netcfg :)

У меня сейчас сделано так:
/etc/systemd/system/localnet.service
[Unit]
Description=Local Network
Before=network.target
After=netinit.service firewall.service
Wants=netinit.service firewall.service network.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/etc/net/localnet start
ExecStop=/etc/net/localnet stop
[Install]
WantedBy=multi-user.target
/etc/net/localnet
#!/bin/sh
# тут общие переменные
case "$1" in
start)
# тут команды поднятия сети
 ;;
stop)
# тут команды отключения сети
 ;;
esac

Дёшево и сердито. И никакого netcfg :)
 
Зарегистрироваться или войдите чтобы оставить сообщение.