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

Установка CentOS по сети, если шлюз находится в другой подсети

У меня есть KVM-хост (A), на котором запущена виртуальная машина (B). У каждого из них есть собственный внешний IP-адрес, и сеть настроена с использованием моста между eth0 и br0 на A. B использует eth0, где A является шлюзом.

Проблема в том, что два внешних IP-адреса находятся в разных подсетях (на самом деле разные / 8), поэтому по умолчанию B утверждает, что не может достичь A (сеть недоступна).

Я могу решить эту проблему, добавив статический маршрут на B:
echo "any host gateway_ip dev eth0" > /etc/sysconfig/static-routes

Изменение /etc/init.d/networking для перезагрузки шлюза после применения статических маршрутов (я добавил только последнюю строку перед fi):

if [ -f /etc/sysconfig/static-routes ]; then  
    grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do  
        /sbin/route add -$args  
    done  
    route add default gw "${GATEWAY}"  
fi  

Если я перезапущу сеть, она перейдет в оперативный режим. Как я могу сделать это (или обойти это каким-либо другим способом) до установки системы, в идеале в файле кикстарта Anaconda?

В /etc/sysconfig/static-routes файл устарел, и он использует route синтаксис команды, который также устарел.

Вы можете удалить правила, используя ip синтаксис интерфейса eth0 в файле:

/etc/sysconfig/network-scripts/route-eth0

Нет никакого крючка, чтобы сделать это непосредственно в файле кикстарта, поэтому вам придется делать это в %post раздел.

Поскольку вы используете виртуальные машины, почему бы не использовать шаблоны и снимки состояния вместо кикстарта? Настройки могут быть помещены в /etc/rc.d/sysinit файл под

# Настроить машину, если существует /.unconfigured:

затем беги sys-unconfig подготовить виртуальную машину к шаблону.

После этого вы можете клонировать изображения с помощью qemu-img convert или сделайте снимки из исходного образа, чтобы сэкономить место на диске, и прикрепите клонированные / снятые образы к новым виртуальным машинам. Все они будут иметь одинаковую конфигурацию и файлы, за исключением типичных настроек, удаленных sys-unconfig. И, конечно же, все, что вы добавляете в rc.sysinit.