Как правильно использовать именованные таблицы с «ip route» - PullRequest
0 голосов
/ 05 марта 2019

Я использую это на своем сервере для маршрутизации любого трафика на определенный IP через определенный интерфейс

ip route add 80.100.141.27/32 via 167.99.208.1 dev eth0 src 10.18.0.10

Это прекрасно работает, трафик до 80.100.141.27 будет превышать 10.18.0.10

Теперь, чтобы организовать эти правила, я думаю, я мог бы использовать именованные таблицы.

Сначала я создаю новую таблицу с именем 'table-name'

    - name: create named ip route table
      lineinfile:
        path: /etc/iproute2/rt_tables
        line: '200 table-name'
        create: yes
      tags: ip_route

Тогда я могу добавить правила следующим образом

ip route add table table-name 80.100.141.27/32 via 167.99.208.1 dev eth0 src 10.18.0.10

Правила добавлены в эту таблицу

ip route show table table-name

Однако правила не активны. Трафик не идет по указанному маршруту.

1 Ответ

1 голос
/ 05 марта 2019

Согласно справочной странице:

ядро ​​использует эту таблицу только при расчете маршрутов.

Говоря о главном столе.

Таким образом, вы, вероятно, должны указать из основной таблицы, чтобы использовать другую таблицу, с чем-то вроде:

ip rule add from 167.99.208.1 table table-name
...