Как можно добавить дополнительные маршруты к кикстарту 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
Это работает как для сборки, так и после этого остается постоянным