Usando várias interfaces em uma máquina RHEL5.5 x64

2

Estou tentando usar um endereço atribuído estaticamente em uma interface (eth1) de um servidor e ter um endereço atribuído a DHCP em outra interface (eth2) na mesma sub-rede (172.17.11.0/24).

Quando configuro um IP estático para eth1 (seguindo as instruções encontradas em link ), digitei o seguinte em /etc/sysconfig/network-scripts/ifcfg-eth1 :

# ServerEngines Corp. Emulex OneConnect 10Gb NIC (be3)
DEVICE=eth1
BOOTPROTO=static
DHCPCLASS=
HWADDR=00:21:5A:9B:00:41
IPADDR=172.17.11.203
NETMASK=255.255.255.0
#TYPE=ethernet
ONBOOT=yes

Se eth1 for o único adaptador em execução, não consigo efetuar ping em QUALQUER IP externo: (

Quando o eth2 também está em execução, posso fazer ping em endereços externos.

ifconfig retorna o seguinte:

eth1      Link encap:Ethernet  HWaddr 00:21:5A:9B:00:41
          inet addr:172.17.11.203  Bcast:172.17.11.255  Mask:255.255.255.0
          inet6 addr: fe80::221:5aff:fe9b:41/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4747 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5495 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:447100 (436.6 KiB)  TX bytes:1059019 (1.0 MiB)
          Memory:fbf60000-fbf80000

eth2      Link encap:Ethernet  HWaddr 00:21:5A:9B:00:42
          inet addr:172.17.11.245  Bcast:172.17.11.255  Mask:255.255.255.0
          inet6 addr: fe80::221:5aff:fe9b:42/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6745 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10802 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1260318 (1.2 MiB)  TX bytes:12302950 (11.7 MiB)
          Memory:fbe40000-fbe60000

O conteúdo de /etc/sysconfig/network :

HOSTNAME=<redacted>
NETWORKING=yes
NETWORKING_IPV6=no
GATEWAY=172.17.11.1

Eu estou sentindo falta de algo super óbvio? Se sim, o que é isso?

Editar por solicitação com eth2 para baixo

# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
172.17.11.0     0.0.0.0         255.255.255.0   U         0 0          0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth1
0.0.0.0         172.17.11.1     0.0.0.0         UG        0 0          0 eth1

e com ambas as interfaces:

# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
172.17.11.0     0.0.0.0         255.255.255.0   U         0 0          0 eth1
172.17.11.0     0.0.0.0         255.255.255.0   U         0 0          0 eth2
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth2
0.0.0.0         172.17.11.1     0.0.0.0         UG        0 0          0 eth2
    
por warren 09.11.2011 / 01:23

2 respostas

1

Adicionar as linhas NETWORK e BROADCAST em /etc/sysconfig/network-scripts/ifcfg-eth1 parece ter resolvido este problema.

DEVICE=eth1
BOOTPROTO=static
DHCPCLASS=
BROADCAST=172.17.11.255
HWADDR=00:21:5A:9B:00:41
IPADDR=172.17.11.203
NETMASK=255.255.255.0
TYPE=ethernet
NETWORK=172.17.11.0
ONBOOT=yes
GATEWAY=172.17.11.1
    
por 09.11.2011 / 05:52
1

O Linux usa um modelo de sistema final strong para IP. Isso significa que os endereços IP 'realmente' pertencem à máquina, não a interfaces de rede específicas. Ao invés de um monte de interfaces de rede com seus próprios endereços que simplesmente acontecem para todos alcançarem o mesmo sistema, o Linux possui uma única máquina com um monte de endereços IP que também tem um monte de interfaces de rede.

Você pode fazer com que ele se comporte como um modelo de sistema final fraco com coisas como filtragem de ARP, roteamento de políticas e assim por diante. Mas isso depende muito do que você está especificamente tentando fazer. Você deve atualizar sua pergunta com uma explicação de por que você tem duas interfaces físicas na mesma sub-rede e o que você está tentando alcançar atribuindo endereços IP a interfaces físicas distintas no mesmo segmento. As probabilidades são de que haja uma maneira de fazer isso, mas teríamos que saber o que "isso" é para lhe dizer como.

Não está claro por que você não pode sair com eth para baixo. Se o seu endereço IP está dentro do intervalo de DHCP do roteador, você deve saber que alguns roteadores do SoHo recusam o tráfego NAT de endereços IP dentro de sua faixa de DHCP que não foram atribuídos.

Mas por que importa o que acontece com eth1 abaixo? Como sua configuração é para eth1 e eth2 , por que você está preocupado com o que acontece em uma configuração diferente que não é a que você está usando?

Você está tentando obter o failover? Em caso afirmativo, por que associar os endereços IP a interfaces físicas? Isso significa apenas que perder uma interface significa perder um IP. Se você quiser failover, você quer um modelo de sistema de ponta strong onde os endereços IP podem sobreviver às perdas da interface física - caso contrário, todas as conexões TCP serão interrompidas mesmo que possam ser salvas.

    
por 09.11.2011 / 02:08