Мне нужно направить исходящий трафик через виртуальный IP-адрес. Я могу сделать это с помощью инструмента «ip» из пакета iproute.
С помощью ip route
Я вижу, какой адрес используется в качестве источника, и могу изменить его, используя ip route change
, но это временно, и я теряю это изменение после перезапуска сетевой службы или компьютера.
Как я могу сделать это с помощью файлов конфигурации, чтобы они были постоянными? Например, я пробовал несколько вариантов в /etc/sysconfig/network-scripts/route-eth0:0
но не повезло.
Спасибо
Вам пришлось отредактировать /etc/sysconfig/network-scripts/route-eth0:0
файл, добавив запись со следующим синтаксисом: <SUBNET>/<PREFIX_LENGTH> via <GATEWAY> dev <INTERFACE>
Например: 10.10.10.0/24 via 192.168.1.1 dev eth0:0
В общем, вы можете легко добавить все, что хотите запускать во время загрузки, в /etc/rc.d/rc.local
. Так что просто добавь что угодно ip route
команды, которые вы хотите там. Просто и без проблем.
https://www.centos.org/docs/5/html/Installation_Guide-en-US/s1-boot-init-shutdown-run-boot.html
Сценарий /etc/rc.d/rc.local выполняется командой init во время загрузки или при изменении уровня выполнения. Добавление команд в конец этого сценария - простой способ выполнять необходимые задачи, такие как запуск специальных служб или инициализация устройств, без написания сложных сценариев инициализации в каталоге /etc/rc.d/init.d/ и создания символических ссылок.
Или
Вы можете пойти более сложным путем и создать службу systemd. https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sect-Managing_Services_with_systemd-Unit_Files.html
Таким образом, вы можете настроить его для перезапуска с сетевыми службами.
Или
Возможно, вы сможете использовать пользовательские сетевые скрипты в CentOS
Пользовательские команды и сетевые сценарии
Пользовательские команды в сценариях / sbin / ifup-local, ifdown-pre-local и ifdown-local выполняются только тогда, когда эти устройства контролируются службой /etc/init.d/network. Если вы изменили сами сценарии инициализации (например, / etc / sysconfig / network-scripts / ifup-eth), то эти изменения будут перезаписаны обновлением пакета сценариев инициализации. Поэтому рекомендуется избегать непосредственного изменения сценариев инициализации и использовать / sbin / ifлокальные сценарии, так что ваши пользовательские изменения сохранятся при обновлении пакета. Скрипты инициализации просто проверяют наличие соответствующего / sbin / iflocal и запустите их, если они существуют. Скрипты инициализации ничего не помещают в локальные скрипты / sbin / if *, а RPM-скрипт инициализации (или любой пакет) не владеет этими файлами и не изменяет их.