Servidor não acessível na eth1 (interface de rede adicional) CentOS 7 no AWS EC2

1

Eu criei uma instância CentOS 7 no EC2 , instalei meu aplicativo necessário, atribui 1 Elastic IP à interface de rede padrão ( eth0 ) e tudo é acessível.

Agora criei outra Interface de rede , atribuí um Elastic IP a ele e, em seguida, anexe o ENI à instância. Agora, a instância não pode ser acessada na eth1 (nova interface de rede adicional).

Eu tentei várias abordagens encontradas no google ifcfg-eth1 em / etc / sysconfig / network-scripts , mas sem sorte.

Para ajuda, esta é a saída do ifconfig -a (IPs mascarados):

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9001
        inet 1XX.3XX.2XX.4XX  netmask 255.255.240.0  broadcast 1XX.3XX.2XX.4XX
        inet6 fe80::2e:a1ff:fe01:c763  prefixlen 64  scopeid 0x20<link>
        ether 02:2e:a1:01:c7:63  txqueuelen 1000  (Ethernet)
        RX packets 219  bytes 28188 (27.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 284  bytes 31055 (30.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth1: flags=4098<BROADCAST,MULTICAST>  mtu 1500
        ether 02:78:73:34:66:35  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 23  bytes 4968 (4.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 23  bytes 4968 (4.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

E isso é de ip addr :

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP qlen 1000
    link/ether 02:2e:a1:01:c7:63 brd ff:ff:ff:ff:ff:ff
    inet 1XX.3XX.2XX.4XX/20 brd 1XX.3XX.2XX.4XX scope global dynamic eth0
       valid_lft 3404sec preferred_lft 3404sec
    inet6 fe80::2e:a1ff:fe01:c763/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether 02:78:73:34:66:35 brd ff:ff:ff:ff:ff:ff

Meu arquivo / etc / sysconfig / network-scripts / ifcfg-eth0 tem esses conteúdos:

DEVICE="eth0"
BOOTPROTO="dhcp"
ONBOOT="yes"
TYPE="Ethernet"
USERCTL="yes"
PEERDNS="yes"
IPV6INIT="no"
PERSISTENT_DHCLIENT="1"
    
por Vaibhav Pandey 16.01.2017 / 20:07

1 resposta

1

Finalmente, ninguém além desse cara: link me ajudou.

Para preservar informações se o link se tornar inválido no futuro, aqui está o conteúdo frutífero da postagem:

  1. Força o seu gateway padrão a ser eth0 :

    Edite / etc / sysconfig / network e adicione:

    GATEWAYDEV=eth0
    

    Não fazer isso deixou o gateway padrão da tabela de roteamento principal definido para a última interface a ser configurada, o que causou algum comportamento estranho.

  2. Configure cada interface adicional que você adicionou:

    Em / etc / sysconfig / network-scripts , crie um ifcfg-eth X para cada nova interface.

    Modifique:

    1. O nome DEVICE para corresponder ao ENI .

      DEVICE="eth1"
      BOOTPROTO="dhcp"
      ONBOOT="yes"
      TYPE="Ethernet"
      USERCTL="yes"
      PEERDNS="yes"
      IPV6INIT="no"
      PERSISTENT_DHCLIENT="1"
      
  3. Adicione uma rota personalizada para cada interface adicional.

    Novamente em / etc / sysconfig / network-scripts , crie um arquivo route-eth X para cada interface.

    Modifique:

    1. O nome do dispositivo.
    2. Incrementar o número da tabela.
    3. O gateway para o gateway da sua sub-rede de VPC.
    4. Altere o IP de origem para o endereço de rede interno atribuído da ENI.

      default via 10.0.0.1 dev eth0 table 1
      10.0.0.0/24 dev eth0 src 10.0.0.10 table 1
      
  4. Também em / etc / sysconfig / network-scripts , crie uma regra-eth X para cada interface.

    Modifique:

    1. Incremente o número da tabela para corresponder a rota-eth X .
    2. Altere o IP para o endereço de rede interno atribuído da ENI.

      from 10.0.0.10/32 table 1
      

Reinicie o serviço de rede e você deve estar em funcionamento. Você pode confirmar com a regra ip :

# ip rule
0:  from all lookup local 
32764:  from 10.0.0.10 lookup 3 
32765:  from 10.0.0.11 lookup 2 
32766:  from all lookup main 
32767:  from all lookup default 

Observe que a Amazon sugeriu uma rota e uma regra personalizadas para eth0 , mas descobrimos que permitir eth0 usar a tabela de roteamento principal padrão não apenas funcionava, mas era mais flexível.

    
por 17.01.2017 / 12:05