CentOS 6, 2 NICs, 1 gateway, 1 NIC não funciona direito

1

Eu tenho uma instalação do CentOS 6 que tinha 1 NIC, eth0, funcionando bem

Adicionei outro NIC, eth1 . Ambas as NICs estão no mesmo switch e na mesma LAN.

Eu copiei ifcfg-eth0 para ifcfg-eth1 e, em seguida, simplesmente alterei as DEVICE= , IPADDR= e HWADDR= iines.

Depois de configurar /etc/sysconfig/network-scripts/ifcfg-eth1 , posso pingar eth1 de uma máquina externa o dia todo e tudo bem.

Mas se eu tentar pingar de dentro do servidor ( ping -Ieth1 google.com ), não obtenho resposta, enquanto ping -Ieth0 google.com funciona bem.

Eu removi as linhas GATEWAY= de ifcfg-eth0 e ifcfg-eth1 e coloque GATEWAY= em /etc/sysconfig/network .

Aqui estão meus arquivos de configuração ofuscados:

eth0
        DEVICE = eth0
        BOOTPROTO = estática
    IPADDR = 192.168.1.40
    NETMASK = 255.255.255.0
    HWADDR = 00: 00: 23: 45: 67: 8F
    NM_CONTROLLED = no
    ONBOOT = sim
    TIPO = Ethernet
    IPV6INIT = no
    DNS1 = 192.168.1.240
    DNS2 = 192.168.1.244

eth1
    DEVICE = eth1
    BOOTPROTO = estática
    IPADDR = 192.168.1.41
    NETMASK = 255.255.255.0
    HWADDR = 00: 00: 23: 45: 67: 99
    NM_CONTROLLED = no
    ONBOOT = sim
    TIPO = Ethernet
    IPV6INIT = no
    DNS1 = 192.168.1.240
    DNS2 = 192.168.1.244

rede
    NETWORKING_IPV6 = não há     HOSTNAME = myserver
    NETWORKING = sim
    GATEWAY = 192.168.1.2

Meus iptables -L -v estão atualmente completamente vazios. E eu não estou usando o SELinux.

    
por Daniel 19.11.2015 / 03:42

3 respostas

2

Nunca configure duas interfaces para a mesma sub-rede, isso provavelmente não funcionará como desejado. Se você examinar a saída de ip ro , entenderá que o Linux é predominantemente baseado em roteamento baseado em destino. Embora o roteamento baseado em fonte seja possível , é muito raro na prática. Só consigo me lembrar de uma vez em que precisei fazer isso em minha vida, seja qual for o motivo.

Você entendeu mal o que o ping -I faz, daí a confusão. Do homem:

-I interface address

Set source address to specified interface address.

Ping não envia o pacote através da interface -I. Quando um pacote está pronto para ser enviado, o kernel analisa IP de destino e ip ro e, com base nessas duas coisas, decide qual interface usar. Ele não olha para o IP de origem do pacote .

-I se para definir o IP de origem de um pacote. Quando um pacote flui, o switch sabe que ambos os seus IPs vieram do MAC de eth0, então ele envia respostas lá. Mas eth0 descarta tudo o que não está endereçado ao seu próprio IP (ou broadcast). Não há "ligação interna mágica" entre eth0 e eht1, fora do que você vê no ip ro . Então a resposta nunca chega a eth1.

O ip ro é um substituto moderno de route preterido.

Como você usa o mesmo switch / gateway, você provavelmente quer ter bonding de eth0 e eth1. Em seguida, defina seus dois endereços IP na interface bond0 (ifcfg-bond0). Esta é uma prática padrão e funcionaria como um encanto.

Para separar completamente o tráfego entre eth0 e eth1, é melhor definir eth1 para uma sub-rede IP diferente, como 192.168.2.40 e usar um roteador / gateway diferente:)

    
por 20.11.2015 / 23:48
1
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.all.rp_filter = 2

Pacotes descartados quando a rota para o tráfego de saída é diferente da rota do tráfego de entrada

    
por 21.11.2016 / 19:41
0

Daniel -

Parece que seu problema existe devido à limitação da configuração desejada. Você tem duas interfaces na mesma LAN / sub-rede, mas uma delas deve ser a rota padrão. Execute este comando para verificar se sua rota está com o padrão eth0, isso indicará que você não poderá acessar nenhum dispositivo fora de sua rede quando tentar forçar o tráfego através da eth1.

route

Deve ser algo assim:

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.1.0 * 255.255.255.0 U 0 0 0 eth0

link-local * 255.255.0.0 U 1002 0 0 eth0

default 192.168.1.0 0.0.0.0 UG 0 0 0 eth0

Para verificação de sanidade, tente executar ping em algo local para sua LAN por meio dessa porta:

ping -Ieth1 192.168.1.2
    
por 20.11.2015 / 19:57