У меня есть 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.