Назад | Перейти на главную страницу

CentOS Multi Nic и маршрутизация политик?

Я не знаком с CentOS, и мне нужна помощь в маршрутизации для этого. У меня есть коробка CentOS с 3 сетевыми картами.

eth0      Link encap:Ethernet  
          inet addr:10.50.121.16  Bcast:10.50.121.255  Mask:255.255.255.0


eth1      Link encap:Ethernet  
          inet addr:10.50.128.134  Bcast:10.50.128.255  Mask:255.255.255.0

eth2      Link encap:Ethernet  
          inet addr:10.50.140.97  Bcast:10.50.140.255  Mask:255.255.255.0

eth0 был существующим интерфейсом, и у него был маршрут по умолчанию, я добавил eth1 и eth2. В сегментах eth1 и eth2 есть шлюзы (адрес .1 на обоих). Мне нужно иметь некоторые сетевые потоки между сетевыми адаптерами eth1 и eth2 (через их соответствующие шлюзы), чтобы провести некоторое тестирование. Полагаю, мне нужно настроить для этого маршрутизацию политики?

Изменить: извините за ясность, я не говорю, что пытаюсь маршрутизировать пакеты между двумя новыми интерфейсами. Мне нужно отправить несколько пакетов с IP-адреса eth1 на IP-адрес eth2 через некую инфраструктуру (таким образом имитируя диалог между vlan eth1 и vlan eth2). Итак, я хочу сделать это eth1 -> eth1-vlan-router -> ??? -> eth2-vlan-router-> eth2, а затем сможет ответить, используя обратный маршрут. Мое плохое за то, что здесь не совсем ясно.

Вы не сможете сделать это с помощью стандартных сетевых API.

Сетевой стек Linux использует так называемые модель слабого хоста, что, в частности, подразумевает, что любой адрес, назначенный локальному интерфейсу, считается локальным. Если вы попытаетесь отправить пакет на локальный интерфейс, он будет зацикливаться локально и никогда не попадет в сеть.

Хотя вы, вероятно, могли бы что-то взломать, используя сырые сокеты, лучшим решением, скорее всего, будет использование второго хоста, возможно, реализованного как виртуальная машина.

Изменить /etc/sysctl.conf и включите маршрутизацию ipv4.

net.ipv4.ip_forward = 1

Тогда беги sysctl -p чтобы применить настройки.

Чтобы показать текущее значение net.ipv4.ip_forward , используйте:

sysctl net.ipv4.ip_forward