Как можно добавить дополнительные маршруты к кикстарту Anaconda?

Я часто строю серверы centos7 и предъявляю несколько особых требований к сети. Например, я могу захотеть использовать серверы имен или репозитории в закрытых диапазонах, которые недоступны через мою обычную подсеть или шлюз по умолчанию.

Представьте себе кикстарт с чем-то вроде следующего:

network --device eth0 --bootproto static --ip 192.168.0.100 --netmask 255.255.0.0 --gateway 192.168.0.1 --nameserver 10.0.0.100

repo --name="private" --baseurl=http://172.16.0.100/private/7/x86_64

Это чисто теоретическая установка. Теоретическая коробка имеет IP-адрес в диапазоне 192.168, со шлюзом по умолчанию, который может достичь более широкого мира, но хотел бы достичь сети 10/8 и 172.16/12.

Кроме того, представьте, что шлюз по умолчанию не может достичь этих других подсетей.

В живой среде Centos я мог бы сделать следующее

ip route add 10.0.0.0/8 via 192.168.0.2

ip route add 172.16.0.0/12 via 192.168.0.3

и чтобы сделать его постоянным, его можно добавить в / etc / sysconfig / network-scripts / route-eth0

Как мне заставить все это войти в игру в анаконде? Исторически это могло работать в% pre, но если я запустил ssh в anaconda во время его работы, я вижу, что эти маршруты не на месте.

2 ответа

Почему бы вам просто не настроить статические маршруты в %post?

%post
cat > /etc/sysconfig/network-scripts/route-eth0 <<EOF
10.0.0.0/8 via 192.168.0.2
172.16.0.0/12 via 192.168.0.3
EOF

Если вам нужны статические маршруты во время установки, вы можете, конечно, добавить соответствующие ip route команды для %pre также.

В конце концов я нашел решение

%pre
nmcli connection modify "System eth0" +ipv4.routes "10.0.0.0/8 192.168.0.2"
%end

Это работает как для сборки, так и после этого остается постоянным

Другие вопросы по тегам