Назад | Перейти на главную страницу

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

Почему бы вам просто не настроить статические маршруты в %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

И то, и другое работает для сборки, но также остается постоянным и в дальнейшем.