В сценарии оболочки Ubuntu (sh) отсутствует строка
Я создаю некоторый сценарий для статического маршрута, который называется "my.rc.route", и помещаю его в /etc/rc.local, поэтому каждый раз при перезапуске сервера сценарий запускается после всего процесса запуска.
Мне немного странно обнаружить, что в моем сценарии случайно пропущена какая-то строка в системе.
Кто-нибудь имеет дело с этой ситуацией? Где отслеживать / войти, чтобы прочитать?
Я вставляю свой "my.rc.route" здесь, ответил Gnudiff.
#!/bin/bash
ip ro add table arieluna 10.254.254.248/29 dev lan proto kernel scope link src 10.254.254.254
ip ro add table arieluna 10.222.23.0/24 dev vlan17 proto kernel scope link src 10.222.23.1
ip ro add table arieluna 10.222.22.0/24 dev vlan16 proto kernel scope link src 10.222.22.1
ip ro add table arieluna 10.222.21.0/24 dev vlan15 proto kernel scope link src 10.222.21.1
ip ro add table arieluna 10.222.20.0/24 dev vlan14 proto kernel scope link src 10.222.20.1
ip ro add table arieluna 10.222.19.0/24 dev vlan13 proto kernel scope link src 10.222.19.1
ip ro add table arieluna 10.222.18.0/24 dev vlan12 proto kernel scope link src 10.222.18.1
ip ro add table arieluna 10.222.17.0/24 dev vlan11 proto kernel scope link src 10.222.17.1
ip ro add table arieluna 10.222.16.0/24 dev vlan10 proto kernel scope link src 10.222.16.1
ip ro add table arieluna 10.222.24.0/24 dev vlan18 proto kernel scope link src 10.222.24.1
1 ответ
@Redmumba находится на правильном пути здесь. Если вы попытаетесь добавить правила iptables для интерфейсов, которые еще не настроены / не настроены, то iptables выдаст ошибку, и правила не будут добавлены. Для меня это звучит так, будто вы конфигурируете хотя бы один из ваших интерфейсов через NetworkManager или что-то подобное (зависит от вашего дистрибутива), и эта часть происходит только тогда, когда пользователь входит в систему через графический интерфейс (т.е. после выполнения rc.local).
Если вы хотите, чтобы это работало, вам нужно будет выполнить скрипт с помощью команды "up" в /etc/network/interfaces (если вы работаете в дистрибутиве на основе Debian) или с помощью подобных механизмов.
В качестве альтернативы вы можете настроить свои интерфейсы для настройки во время загрузки. В дистрибутивах на основе Debian это делается заменой ключевого слова allow-hotplug в разделах интерфейса на "auto". Другие дистрибутивы будут использовать другие механизмы для этого, вам нужно будет прочитать соответствующие справочные страницы, чтобы узнать, что делать.