Я настраиваю два IP-адреса на одном eth и один IP-адрес на втором NIC с помощью iproute2. Есть несколько действительно хороших статейздесьиздеськоторые хорошо объясняют, как это сделать.
Однако, проверка правил с помощьюправило ip показать, возвращает ошибку:
База данных /etc/iproute2/rt_tables повреждена в ip route add 192.168.15.0 dev eth0 src 192.168.15.190 table mgmtsecond
Я гуглил часами, но не нашел ничего по этой ошибке. Я проверил синтаксис в официальной документации. Выглядит нормально.
Есть предложения? Спасибо!!
/etc/iproute2/rt_tables
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# Mgmt Alias and Mon Ports
#
1 mgmtsecond
2 monport
# Management Port Second Instance
# Main#2 def is 192.168.15.1
ip route add 192.168.15.0/24 dev eth0 src 192.168.15.190 table mgmtsecond
ip route add default via 192.168.15.1 dev eth0 table mgmtsecond
# Monitor Port. Default 192.168.16.1
ip route add 192.168.16.0/24 dev eth1 src 192.168.16.190 table monport
ip route add default via 192.168.16.1 dev eth1 table monport
ip rule add from 10192.168.15.0/24 table mgmtsecond
ip rule add to 192.168.15.0/24 table mgmtsecond
решение1
Не следует добавлять команды ip route add
и ip rule add
в этот файл /etc/iproute2/rt_tables
. Формат файла следующий:
table_id table_name
пример:
255 local
Сообщение об ошибке ясно указывает на место ошибки:
База данных /etc/iproute2/rt_tables повреждена в ip route add 192.168.15.0 dev eth0 src 192.168.15.190 table mgmtsecond
Маршруты и правила должны быть добавлены вручную или в какой-либо другой скрипт, который будет вызываться при необходимости. Например, вы можете добавить их в /etc/rc.local
скрипт, который вызывается в конце процесса запуска, если хотите.