vários endereços ipv4 com conexão à internet em um único dispositivo físico

1

meu isp me dá até dois endereços ipv4. Eu tenho um pi de framboesa com archlinux conectado ao modem. primeira interface é eth0 e o endereço ip é obtido via dhcp.

eu criei um dispositivo virtual com

ip link add link eth0 address 00:11:11:11:11:11 eth0.1 type macvlan

e deu a esse dispositivo um ip com

dhcpcd eth0.1

minha tabela de roteamento agora parece (eu mudei os endereços públicos para 10.0.x.x):

[root@core ~]# ip route
default via 10.0.26.1 dev eth0  metric 204 
default via 10.0.24.1 dev eth0.1  metric 206 
10.0.24.0/23 dev eth0.1  proto kernel  scope link  src 10.0.24.195  metric 206 
10.0.26.0/24 dev eth0  proto kernel  scope link  src 10.0.26.219  metric 204 
192.168.178.0/24 dev eth1  proto kernel  scope link  src 192.168.178.1

com firewall e tudo desativado eu tentei

ping -I eth0.1 www.google.de

mas isso não funcionou.

eu mudei a métrica da segunda rota de 206 para 100 e então funcionou. mas agora os pings da eth0 estão quebrados.

no que diz respeito ao meu entendimento de rede, espero que o ping de ambos os dispositivos esteja funcionando.

minha próxima ação foi descarregar o tráfego (mudei meu ip público para 10.0.x.x)

[root@core ~]# ping -I eth0.1 www.google.de (no output was shown here)
[root@core ~]# tcpdump -i eth0.1 icmp
11:32:18.344731 IP  10.0.24.195 > ham02s11-in-f23.1e100.net: ICMP echo request, id 1841, seq 1, length 64
11:32:18.368186 IP ham02s11-in-f23.1e100.net > 10.0.24.195: ICMP echo reply, id 1841, seq 1, length 64

Eu também olhei para o despejo em wireshark, para mim, parecia perfeitamente legal. os endereços arp e ip de eth0.1 foram usados. (00: 11: 11: 11: 11: 11 e 10.0.24.195)

aqui está a saída das informações da minha interface

[root@core ~]# ip addr
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group   default qlen 1000
link/ether b8:27:eb:fe:e6:87 brd ff:ff:ff:ff:ff:ff
inet 10.0.26.219/24 brd 10.0.26.255 scope global eth0
   valid_lft forever preferred_lft forever
6: eth0.1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default 
link/ether 00:11:11:11:11:11 brd ff:ff:ff:ff:ff:ff
inet 10.0.24.195/23 brd 10.0.25.255 scope global eth0.1
   valid_lft forever preferred_lft forever

Eu notei algumas coisas que parecem estranhas para mim, mas não tenho certeza.

  • estado da eth0.1 DESCONHECIDO
  • netmask de eth0.1 é / 23, não / 24
  • brd de eth0.1 é 10.0.25.255, comparado a eth0 eu esperaria 10.0.24.255

Espero que alguém possa me dar algum conselho.

    
por ineb 28.02.2014 / 11:49

0 respostas