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

Приоритезация сетевого интерфейса CentOS

У меня есть сервер CentOS с двумя сетевыми интерфейсами с конфигурациями:

eth0:

DEVICE=eth0
BOOTPROTO=none
BROADCAST=10.0.0.255
HWADDR=xx:
IPADDR=10.0.0.2
NETMASK=255.255.255.0
NETWORK=10.0.0.0
ONBOOT=yes
TYPE=Ethernet
GATEWAY=10.0.0.1
USERCTL=no
IPV6INIT=no
PEERDNS=yes

eth1:

DEVICE=eth1
BOOTPROTO=none
BROADCAST=192.168.0.255
HWADDR=yy
IPADDR=192.168.0.2
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
GATEWAY=192.168.0.1

Сеть 192 имеет доступ в Интернет, а сеть 10 - нет. В настоящее время я не могу подключиться к Интернету, но мне нужно, чтобы у моего сервера был доступ в Интернет. Я решил, что мне нужно установить приоритет интерфейсов Ethernet как eth1 и eth0. Как я могу это сделать ? Спасибо за ваши ответы.

Если вам не нужен трафик в сети 10.0.0.0/24 для передачи за пределы подсети: Удалите GATEWAY = из интерфейса 10.0.0.0/24.


Если вам ДЕЙСТВИТЕЛЬНО нужен трафик для выхода за пределы 10net, вам нужны более сложные таблицы маршрутизации. Удалите GATEWAY = с обоих интерфейсов.

В: /etc/sysconfig/network-scripts/ifcfg-eth1 Добавить:

DEVICE=eth1
BROADCAST=192.168.0.255
IPADDR=192.168.0.2
NETMASK=255.255.255.0
ONBOOT=yes
IPV6INIT=no

В: /etc/sysconfig/network-scripts/route-eth1 Добавить:

192.168.0.0/24 dev eth1
default via 192.168.0.1

В: /etc/sysconfig/network-scripts/ifcfg-eth0 Добавить:

DEVICE=eth0
BROADCAST=10.0.0.255
IPADDR=10.0.0.2
NETMASK=255.255.255.0
ONBOOT=yes
IPV6INIT=no

Теперь это самая глупая часть. Допустим, ваш шлюз 10.0.0.1 направляет трафик на 10.0.2.0/24 и 192.168.67.0/24 ... Нам нужен статический маршрут, определенный для доступа к этим сетям через правильный шлюз:

В /etc/sysconfig/network-scripts/route-eth0 Добавить:

10.0.0.0/24 dev eth0
10.0.2.0/24 via 10.0.0.1
192.168.67.0/24 via 10.0.0.1

Я очень сомневаюсь, что вы действительно выполняете маршрутизацию за пределами 10net на шлюзе 10 .. но приведенная выше конфигурация является решением для этого варианта использования. Если вам просто нужен ЛОКАЛЬНЫЙ доступ к подсети 10.0.0.0/24 через eth0, выполните все вышеперечисленное, но замените /etc/sysconfig/network-scripts/route-eth0

10.0.0.0/24 dev eth0

Краткий вариант - удалить строку GATEWAY из eth0. Бегать /etc/init.d/network restart после внесения любого из этих изменений. ПРИМЕЧАНИЕ. Вам не нужен шлюз, если вы не покидаете свою подсеть.

У eth0 вообще нет доступа к Интернету? или просто по умолчанию используется eth1?

Проверьте свою таблицу маршрутизации с помощью route команду и посмотрите на default ряд (ы).

Если вы отключите или отключите eth1, сможете ли вы по-прежнему подключаться к Интернету?

Если да, и вы просто хотите, чтобы он в первую очередь проходил через этот интерфейс, вы можете добавить DEFROUTE=yes в конфигурацию eth0.

Если нет, попробуйте протестировать с этим интерфейсом.

  • Пинговать шлюз в этой сети (10.0.0.1)
  • Бегать traceroute www.google.com (или другой хост вне вашей сети) и анализируем на выходе.

Другая возможность - это проблема со шлюзом 10.0.0.1.

Если у вас по-прежнему возникают проблемы, опубликуйте вывод route и traceroute команды.

Думаю можно уточнить

DEFROUTE=yes

в конфигурации eth1, чтобы сделать его маршрутом по умолчанию.