2 IPs dans un CT debian avec proxmox

salut

j'ai utilisé le tuto

https://help.ovhcloud.com/csm/fr-dedicated-servers-proxmox-network-hg-scale?id=kb_article_view&sysparm_article=KB0043915

aucun soucis pour configurer le CT, mais quand j'essaye de mettre une deuxième IP cela ne fonctionne pas

mon fichier interfaces

auto eth0
iface eth0 inet static
address 192.168.0.23/24

auto eth0
iface eth0 inet static
address IP_A/32
up ip route replace default via 192.168.0.1 dev $IFACE onlink src IP_A
up ip addr add IP_B/32 dev eth0
down ip addr del IP_B/32 dev eth0

IP_A ok

IP_B impossible d'avoir l'accès ( ça a fonctionné pendant 10 mois, après reboot, HS )

j'ai bien mien le ip add route sur le hôte

est ce que qqu'un aurait une solution; svp ?

Bonne soirée

/ Nicolas

Bonjour, qu'est-ce qui ne fonctionne pas avec IP B ? Le trafic sortant du conteneur devrait toujours avoir l'IP A dans votre exemple. Par contre, le trafic entrant sur l'IP B devrait bien arriver.

Il faudrait faire des captures de paquets dans le conteneur et sur l'hôte, du genre "tcpdump -ni any host IP_A" et regarder ce que vous voyez passer, puis comparer avec IP_B.

Merci pour votre suggestions

quand je fais un ping -I sur chaque IP dans le CT, j'ai ça sur le hote

IP A OK

06:08:43.232085 veth203i0 P IP IP_A > 8.8.8.8: ICMP echo request, id 12663, seq 1, length 64
06:08:43.232085 vmbr0 In IP IP_A > 8.8.8.8: ICMP echo request, id 12663, seq 1, length 64
06:08:43.232089 vmbr0 Out IP IP_A > 8.8.8.8: ICMP echo request, id 12663, seq 1, length 64
06:08:43.232090 enp8s0f0np0 Out IP IP_A > 8.8.8.8: ICMP echo request, id 12663, seq 1, length 64
06:08:43.236757 enp8s0f0np0 In IP 8.8.8.8 > IP_A: ICMP echo reply, id 12663, seq 1, length 64
06:08:43.236757 vmbr0 In IP 8.8.8.8 > IP_A: ICMP echo reply, id 12663, seq 1, length 64
06:08:43.236761 vmbr0 Out IP 8.8.8.8 > IP_A: ICMP echo reply, id 12663, seq 1, length 64
06:08:43.236762 veth203i0 Out IP 8.8.8.8 > IP_A: ICMP echo reply, id 12663, seq 1, length 64

IP B HS


06:09:01.120851 enp8s0f0np0 Out ARP, Reply IP_B is-at bc:24:11:7c:ba:cf, length 28
06:09:01.699219 veth203i0 P IP IP_B > 8.8.8.8: ICMP echo request, id 12664, seq 3, length 64
06:09:01.699219 vmbr0 In IP IP_B > 8.8.8.8: ICMP echo request, id 12664, seq 3, length 64
06:09:01.699231 vmbr0 Out IP IP_HOST > IP_B: ICMP redirect 8.8.8.8 to host 100.64.0.1, length 92
06:09:01.699232 veth203i0 Out IP IP_HOST > IP_B: ICMP redirect 8.8.8.8 to host 100.64.0.1, length 92
06:09:01.699233 vmbr0 Out IP IP_B > 8.8.8.8: ICMP echo request, id 12664, seq 3, length 64
06:09:01.699235 enp8s0f0np0 Out IP IP_B > 8.8.8.8: ICMP echo request, id 12664, seq 3, length 64
06:09:01.835308 enp8s0f0np0 B ARP, Request who-has IP_B tell 100.64.0.1, length 46
06:09:01.835310 veth203i0 Out ARP, Request who-has IP_B tell 100.64.0.1, length 46
06:09:01.835311 fwpr909p0 Out ARP, Request who-has IP_B tell 100.64.0.1, length 46
06:09:01.835312 fwpr908p0 Out ARP, Request who-has IP_B tell 100.64.0.1, length 46
06:09:01.835313 fwpr907p0 Out ARP, Request who-has IP_B tell 100.64.0.1, length 46

toujours la partie que j'ai éludé en adminsys, je ne suis pas beaucoup plus avancé, même si on voit bien qu'il y a des translation d'ip avec celle du hote et que ça part sur le default gateway du hote 😅

Rebonjour @Nicolas, je pense qu'il vous manque la ligne address IP_B/32dans /etc/network/interfaces.
Comme l'hôte ne porte pas l'IP, il ne répond pas aux requêtes ARP du routeur.

ça me parait correct pourtant ?

up ip addr add IP_B/32 dev eth0

sert bien à ça ?

# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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@if218: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether bc:xxxx:cf brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 192.168.0.23/24 brd 192.168.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet IP_A/32 brd 91.121.33.130 scope global eth0
valid_lft forever preferred_lft forever
inet IP_B/32 scope global eth0
valid_lft forever preferred_lft forever

encore merci

Pardon, je veux dire qu'il manque la route sur l'hôte. Vous n'avez sûrement mis qu'une seule directive up ip route add IP_A/32 dev $IFACE ?

Rien à voir et c'est purement cosmétique, mais, côté conteneur, vous pouvez il me semble répéter

iface eth0 inet static
  address IP_B/32

Pour éviter d'avoir un post up/down.

Pouvez-vous me montrer la conf réseau hôte en plus de celle du conteneur ?

@Nicolas est-ce que l'ajout de la route côté hyperviseur a bien résolu le problème ?

sur le hote, j'ai

up ip route add IP_B/32 dev $IFACE

Et avec ça, l'hôte répond aux requêtes ARP ? Le trafic passe ?

Avec des interfaces virtuelles sur le hote, cela semble fonctionner ( pour rappel ça a fonctionné pendant 10 mois avant 😅 ), c'est peut etre retombé en marche... 😂

# Public IPs routed to CT via vmbr0
auto vmbr0:1
iface vmbr0:1 inet static
address IP_A/32
up ip route add IP_A/32 dev vmbr0

auto vmbr0:2
iface vmbr0:2 inet static
address IP_B/32
up ip route add IP_B/32 dev vmbr0

Merci pour le suivi et les suggestions