У меня есть сервер 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.
Если нет, попробуйте протестировать с этим интерфейсом.
traceroute www.google.com
(или другой хост вне вашей сети) и анализируем на выходе.Другая возможность - это проблема со шлюзом 10.0.0.1.
Если у вас по-прежнему возникают проблемы, опубликуйте вывод route
и traceroute
команды.
Думаю можно уточнить
DEFROUTE=yes
в конфигурации eth1, чтобы сделать его маршрутом по умолчанию.