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

Конфигурация второй сетевой карты не работает

У меня есть 4 сервера под управлением Centos 5. Все они имеют две сетевые карты Ethernet.

Я настроил 192.168.1.x IP-адреса на их eth0 открытка. Все они подключены к одному коммутатору с помощью своих eth0 карта и все они рабочие.

Я настроил 10.72.11.x IP-адреса на их eth1 Все они подключены к одному коммутатору, отличному от коммутатора, используемого с eth0 карта - используя свои eth1 карта и они НЕ все работают.

Их файлы конфигурации выглядят так:

DEVICE=eth1
BOOTPROTO=static
IPADDR=10.72.11.236
BROADCAST=10.72.11.191
NETMASK=255.255.255.192
NETWORK=10.72.11.128
HWADDR=84:2B:2B:55:4B:98
IPV6INIT=yes
IPV6_AUTOCONF=yes
ONBOOT=yes

Интерфейс запускается и настраивается как мне нужно.

[root@sql1 network-scripts]# ifconfig
**eth0**  Link encap:Ethernet  HWaddr 84:2B:2B:55:4B:97
          inet addr:192.168.1.105  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::862b:2bff:fe55:4b97/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2981 errors:0 dropped:0 overruns:0 frame:0
          TX packets:319 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:386809 (377.7 KiB)  TX bytes:66134 (64.5 KiB)
          Interrupt:36 Memory:da000000-da012800

**eth1**  Link encap:Ethernet  HWaddr 84:2B:2B:55:4B:98
          inet addr:10.72.11.236  Bcast:10.72.11.191  Mask:255.255.255.192
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:48 Memory:dc000000-dc012800  

Я также добавил route-eth1 файл, который выглядит так:

10.0.0.0/8 via 10.72.11.254

Мне нравится маршрутизация:

[root@sql1 network-scripts]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.72.11.192    0.0.0.0         255.255.255.192 U         0 0          0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth1
10.0.0.0        10.72.11.254    255.0.0.0       UG        0 0          0 eth1
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0

Но я не могу пинговать один сервер с другого.

[root@sql1 network-scripts]# ping 10.72.11.235
PING 10.72.11.235 (10.72.11.235) 56(84) bytes of data.
From 10.72.11.236 icmp_seq=1 Destination Host Unreachable
From 10.72.11.236 icmp_seq=2 Destination Host Unreachable
From 10.72.11.236 icmp_seq=3 Destination Host Unreachable
From 10.72.11.236 icmp_seq=4 Destination Host Unreachable
From 10.72.11.236 icmp_seq=5 Destination Host Unreachable
From 10.72.11.236 icmp_seq=6 Destination Host Unreachable
^C
--- 10.72.11.235 ping statistics ---
7 packets transmitted, 0 received, +6 errors, 100% packet loss, time 6033ms, pipe 3

Что я делаю не так?

Подумайте немного о настройке вашей подсети:

IPADDR=10.72.11.236
BROADCAST=10.72.11.191
NETMASK=255.255.255.192
NETWORK=10.72.11.128

В базе 2:

236 is 1110 1100
191 is 1011 1111
192 is 1100 0000
128 is 1000 0000

Ваши IP-адреса находятся за пределами вашей подсети - 10.72.11.236 не входит в 10.72.11.128/26, а 10.72.11.172 - нет. Ни 17.72.11.235, а 10.72.11.171. Либо измените свои IP-адреса, либо измените вашу трансляцию на .255, а вашу сеть на .192. В качестве альтернативы (если это вам не навязывают) запустите нижнюю половину 10.72.11.0 (т.е. 10.72.11.0/26) или просто используйте / 24 и избавьте себя от лишних хлопот.

Попробуйте использовать ipcalc из http://jodies.de/ipcalc, это большое подспорье при настройке сетей и подсетей.

# ipcalc 10.72.11.236/255.255.255.192
Address:   10.72.11.236         00001010.01001000.00001011.11 101100
Netmask:   255.255.255.192 = 26 11111111.11111111.11111111.11 000000
Wildcard:  0.0.0.63             00000000.00000000.00000000.00 111111
=>
Network:   10.72.11.192/26      00001010.01001000.00001011.11 000000
HostMin:   10.72.11.193         00001010.01001000.00001011.11 000001
HostMax:   10.72.11.254         00001010.01001000.00001011.11 111110
Broadcast: 10.72.11.255         00001010.01001000.00001011.11 111111
Hosts/Net: 62                    Class A, Private Internet

Ричард

Следует отметить, что ваши сетевые карты не «работают» должным образом. Ваш вывод ifconfig не показывает «RUNNING», необходимое для правильной работы ссылки. обратите внимание на линию UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 из вашего интерфейса eth0. В выводе eth1 нет очевидного "RUNNING". По моему опыту, это указывает на проблему низкого уровня. например: Плохая / отсоединенная проводка.

Возможно ли, что сетевая карта, к которой вы подключили кабель, НЕ eth1? Серверы могут иметь странные имена. Попробуйте проверить вывод / var / log / messages, чтобы узнать, сообщает ли он о подключении (отключении) интерфейса. Точно так же посмотрите, получаете ли вы какую-либо диагностическую информацию при подключении / отключении или во время загрузки. Проверьте, происходит ли это на всех 5 полях. Вы также можете попробовать графический инструмент настройки на случай, если в файле конфигурации есть опечатка. (system-config-network)

Я видел эту проблему раньше. Не уверен на 100% в исправлении, но я помню, что в sysctl было что-то, что говорило ARP, чтобы он учитывал эти разные устройства - или что-то в этом роде.

Если я правильно помню, раньше было несколько сообщений о serverfault.

Входящий трафик, который идет на eth0, должен возвращаться через eth0 и наоборот. Попробуйте выполнить TCPdump, чтобы проверить, куда идет трафик.

Для этого вам также потребуется маршрутизация на основе политик: См. Маршрутизация сетевой карты Linux 2 в зависимости от используемого интерфейса