ip route save/ip route restore. Как восстановить таблицу маршрутизации
Ну тут знаете ли телепаты в отпуске. Что считать новой или старой? выполнил я три команды ip ro add, ip ro del, ip ro add вот в каком состоянии было старое или новое?
Доп. маршруты можно в стартовых скриптах добавить.
Если нужны маршруты через динамические устройства, то там есть свои средства.
ip route save > my_ip_r_save — вот так сделаю с радостью, но как восстановить из файла? Просто ./my_ip_r_save ничего не дает (пытается ввести команды) ip route restore не работает.
vel Вы очень уважаемый человек в данной области! Но дайте человеку хотя бы чуть-чуть самому подумать, именно поэтому я задал наводящие вопросы 🙂
ip route restore - restore routing table information from stdin this command expects to read a data stream as returned from ip route save. It will attempt to restore the routing table information exactly as it was at the time of the save, so any translation of information in the stream (such as device indexes) must be done first. Any existing routes are left unchanged. Any routes specified in the data stream that already exist in the table will be ignored.
ну я добавляю/удаляю устройства через add/del. Но потом происходить какаяе-то фигня и непонятные строки добавляются в ip route (возможно, как следствие выполнение скриптов). очень много времени займет пересмотр всех скриптов, по этому нужна восстанавливалка дефолтных значений ip route (как будто ребутнул сервер)
ip route save 1> dump ip route restore < dump
RTNETLINK answers: File exists RTNETLINK answers: File exists RTNETLINK answers: File exists
То есть, выполняются команды из сохраненного файла настроек, а мне нужно заменить текущие настройки на настройки из файла dump
Any existing routes are left unchanged. Any routes specified in the data stream that already exist in the table will be ignored.
ну я добавляю/удаляю устройства через add/del. Но потом происходить какаяе-то фигня и непонятные строки добавляются в ip route (возможно, как следствие выполнение скриптов). очень много времени займет пересмотр всех скриптов, по этому нужна восстанавливалка дефолтных значений ip route (как будто ребутнул сервер)
У вас там прям «шайтан машина» которая делает что-то что сама хочет с роутингом. «Лучше день потерять, но за пять минут долететь» теперь уж вернусь к посту vel - разбирайтесь с этим шаманством скриптов, не дело что «кто-то, что-то, как-то, непонятно меняет роутинг»
оно пытается сохранить ВСЕ, а это бессмысленно. Не нужно сохранять маршруты с «proto kernel» и/или «scope link»
ip ro save scope global >xxx ip ro flush scope global ip ro restore
vel ★★★★★ ( 06.04.16 18:16:09 MSK )
Последнее исправление: vel 06.04.16 18:18:49 MSK (всего исправлений: 1)
спасибо добрый человек=) «оно пытается сохранить ВСЕ, а это бессмысленно». -А я не знал, что можно так сделать до текущего момента) Не могу линукс за день изучить. Все постепенно.
имхо не все. таблицы (кастомные) не прокатят.
How To Persist ip Rule And Route Whenever Server Rebooted?
The mentioned Rule and Route lose once i reboot the server which means i need to run the 3 commands each time server rebooted. I need to make ip rule and route persist whenever server is rebooted.
3 Answers 3
Take a look at /etc/rc.d/rc.local . The file states
Please note that you must run chmod +x /etc/rc.d/rc.local to ensure that this script will be executed during boot.
Then place your commands above the last line
There is better way using relevant configuration files. Rules and routes can be specified using corresponding file names. All the relevant configuration files are given below. (The device names may differ.)
/etc/iproute2/rt_tables /etc/sysconfig/network /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/route-eth0 /etc/sysconfig/network-scripts/route-eth1 /etc/sysconfig/network-scripts/rule-eth0 /etc/sysconfig/network-scripts/rule-eth1
To create a named routing table, use /etc/iproute2/rt_tables . I added 128 mynet .
# # reserved values # 255 local 254 main 253 default 0 unspec # # local # 128 mynet
The EL 7.x /etc/sysconfig/network file. The default route is GATEWAY .
NETWORKING=yes HOSTNAME=hostname.sld.tld GATEWAY=10.10.10.1
THE EL 7.x /etc/sysconfig/network-scripts/ifcfg-eth0 file, without HWADDR and "UUID". This configures a static IP address for eth0 without using NetworkManager.
DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTOCOL=none IPADDR=10.10.10.140 NETMASK=255.255.255.0 NETWORK=10.10.10.0 BROADCAST=10.10.10.255
THE EL 7.x /etc/sysconfig/network-scripts/ifcfg-eth1 file, without HWADDR and UUID . This configures a static IP address for eth1 without using NetworkManager.
DEVICE=eth0 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTOCOL=none IPADDR=192.168.100.140 NETMASK=255.255.255.0 NETWORK=192.168.100.0 BROADCAST=192.168.100.255
The EL 7.x /etc/sysconfig/network-scripts/route-eth1 file. The default route was already specified in /etc/sysconfig/network .
192.168.100.0/24 dev eth1 table mynet default via 192.168.100.1 dev eth1 table mynet
The EL 7.x /etc/sysconfig/network-scripts/rule-eth1 file:
from 192.168.100.0/24 lookup mynet
Update for RHEL8
This method described above works with RHEL 6 & RHEL 7 as well as the derivatives, but for RHEL 8 and derivatives, one must first install network-scripts to use the method described above.
dnf install network-scripts
The installation produces a warning that network-scripts will be removed in one of the next major releases of RHEL and that NetworkManager provides ifup / ifdown scripts as well.