web-dev-qa-db-fra.com

Juju mal configuré la configuration des neutrons?! Impossible de se connecter aux instances

La configuration est la suivante, poste de travail <-> serveur Maas <-> 3 VM - Instances

Maas Server et les VM sont déployés dans vSphere.

Eth1 du serveur Maas a 10.4.x.x qui agit en tant que gestionnaire DHCP pour les machines virtuelles. L'IP de mon poste de travail est 10.x.x.x et je peux me connecter au serveur Maas et aux VM via ssh. J'ai un nœud de calcul dédié et le nœud de réseau a deux interfaces. eth0 (br0) possède une adresse IP du serveur maas et eth1 (br-ex) obtient une adresse IP accessible au public de la plage 192.168.x.x (réseau externe)

Le problème est que je ne peux pas me connecter aux instances directement depuis mon poste de travail ou tout autre terminal de notre réseau. J'ai identifié le problème dans l'espace de noms du routeur. Je ne peux pas envoyer de ping à 8.8.8.8 depuis l'espace de noms du routeur à neutrons. Il est capable d'envoyer une requête ping à br-ex, mais affiche "destination inaccessible" lorsque j'exécute une commande ping sur 192.168.x.1. Veuillez regarder la sortie des commandes suivantes,

ip netns

qrouter-1ff7cd3f-7d73-4c7a-a9aa-0f8efb14a718

ip netns exec qrouter-1ff7cd3f-7d73-4c7a-a9aa-0f8efb14a718 ifconfig

lo Link encap: boucle locale
inet addr: 127.0.0.1 Masque: 255.0.0.0 inet6 addr: :: 1/128 Portée: Host UP LOOPBACK RUNNING MTU: 65536 Métrique: 1 paquets RX: 16 erreurs: 0 abandonné: 0 dépassements: 0 frame : 0 paquets TX: 16 erreurs: 0 abandonnés: 0 dépassements: 0 porteuse: 0 collisions: 0 txqueuelen: 0 octets RX: 1776 (1,7 Ko) octets TX: 1776 (1,7 Ko)

qg-80014d1d-df Encap Link: Ethernet HWaddr fa: 16: 3e: b8: 62: 2e
inet addr: 192.168.xx Bcast: 192.168.x.255 Mask: 255.255.255.0 inet6 addr: fe80 :: f816: 3eff: feb8: 622e/64 Champ d'application: Link UP BROADCAST RUNNING MULTICAST MTU: 1500 Metric: 1 paquets RX: 21036 erreurs: 0 abandonné: 0 dépassements: 0 trame: 0 paquets TX: 3095 erreurs: 0 abandonné: 0 dépassements: 0 opérateur: 0 collisions: 0 txqueuelen: 1000 octets RX: 4857288 (4,8 Mo) octets TX: 1047570 (1,0 Mo)

ip netns exec qrouter-1ff7cd3f-7d73-4c7a-a9aa-0f8efb14a718 Liste de routes ip

par défaut via 192.168.x.1 dev qg-80014d1d-df

192.168.x.0/24 dev qg-80014d1d-df proto kernel scope link src 192.168.x.x

J'ai vu des configurations de neutrons où l'interface du routeur (qg-80014d1d-df) est incluse dans le pont br-ex. Le diagramme à openstack.org pour le dépannage des neutrons montre également que br-ex devrait contenir une interface 'qg'.

enter image description here

Mais dans mon nœud, cela montre différent,

show ovs-vsctl

f50f0af5-a5ab-4ab8-935a-9eaf71b40eea

Pont br-int

    fail_mode: secure
    Port br-int
        Interface br-int
            type: internal
    Port patch-tun
        Interface patch-tun
            type: patch
            options: {peer=patch-int}

Bridge br-ex
    Port "tap80014d1d-df"
        Interface "tap80014d1d-df"
    Port br-ex
        Interface br-ex
            type: internal
    Port "eth1"
        Interface "eth1"

Bridge br-tun
    Port br-tun
        Interface br-tun
            type: internal
    Port patch-int
        Interface patch-int
            type: patch
            options: {peer=patch-tun}
    Port "gre-0a04546a"
        Interface "gre-0a04546a"
            type: gre
            options: {in_key=flow, local_ip="10.4.x.x", out_key=flow, remote_ip="10.4.x.x"}
ovs_version: "2.0.2"

Ici, br-ex obtient une interface supplémentaire, mais c'est "tap". La valeur numérique pour cette interface 'tap' et 'qg' est cependant la même. J'ai vérifié les fichiers journaux sur le nœud de calcul et le contrôleur, mais je n'ai rien trouvé d'important. Je peux générer des instances et leur attribuer des IP flottantes. Je peux également envoyer une requête ping à br-ex, mais pas à l'interface du routeur. Je ne sais pas si le problème est causé par l'interface "tap" mais il n'y a pas de flux entre l'espace de noms du routeur et le monde extérieur. Une autre pensée m'est venue à l'esprit si le problème était causé par VMware vSphere !!!

Une chose doit être mentionnée, lors de la publication des sorties, il n'y a qu'un réseau externe et un routeur pour vérifier la connectivité. Il n'y a aucune instance ou réseau interne.

Je suis coincé sur cette chose comme pour toujours. Toute suggestion serait très appréciée.

1
Akh

J'ai une configuration très similaire, donc je vais vous montrer ma configuration, peut-être que cela vous aidera.

Tous les nœuds sont déployés avec maas et juju et chaque nœud possède deux interfaces:

  • eth0 - réveil sur réseau local, démarrage sur réseau local, réseau maas - 10.5.0.0/16, gw 10.5.0.1
  • eth1 - réseau d'entreprise externe - 172.16.62.0/24 gw 172.16.62.254

J'ai installé Openstack à l'aide de ces guides d'arborescence

  1. http://insights.ubuntu.com/wp-content/uploads/UCD-latest.pdf?utm_source=Ubuntu%20Cloud%20documentation%20%E2%80%93%2014.04%20LTS&utm_medium=download+link&utm_content=

  2. http://linux.Dell.com/files/whitepapers/Deploying_Workloads_With_Juju_And_MAAS-14.04LTS-Edition.pdf

  3. h20564.www2.hp.com/hpsc/doc/public/display?docId=c04330703 (je ne peux pas le coller en tant que lien, en raison de ma faible réputation askubuntu)

Ma configuration réseau sur des nœuds normaux:

#/etc/network/interfaces
auto lo

auto eth0    
iface eth0 inet manual

auto juju-br0
iface juju-br0 inet dhcp
    bridge_ports eth0


auto eth1   
iface eth1 inet static
    address 172.16.62.10
    netmask 255.255.255.0
    #gateway commented
    #gateway 172.16.62.254 


$route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.5.0.1        0.0.0.0         UG    0      0        0 juju-br0
10.5.0.0        0.0.0.0         255.255.0.0     U     0      0        0 juju-br0
172.16.62.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

sur le nœud du réseau de neutrons (quantique):

#/etc/network/interfaces
auto lo

auto eth0
iface eth0 inet manual

auto juju-br0
iface juju-br0 inet dhcp
    bridge_ports eth0

auto eth1
iface eth1 inet manual
        up ip link set dev $IFACE up
        down ip link set dev $IFACE down


$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.5.0.1        0.0.0.0         UG    0      0        0 juju-br0
10.5.0.0        0.0.0.0         255.255.0.0     U     0      0        0 juju-br0

sur le réseau, j'ai également édité /etc/sysctl.conf et décommenté ces lignes

net.ipv4.ip_forward=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.conf.default.rp_filter=1

puis relodez les changements

# sysctl -p

Après avoir enrôlé les nœuds dans maas, je commence à déployer les charmes juju Openstack.

Configuration de la pile ouverte après l'installation via Horizon:

En tant qu'administrateur, j'ai fait:

  1. télécharger une image de cirros,
  2. créer un nouveau locataire et utilisateur
  3. créer un nouveau réseau externe dans la gamme 172.16.62.192/26 de ma société, mais d'une manière qui ne chevauche pas l'adresse pull dhcp normale qui est 172.16.62.10 - 172.16.62.100
  4. créer un routeur et définir une passerelle vers un réseau externe

En tant qu'utilisateur, je l'ai fait:

  1. créer un nouveau réseau privé 192.168.0.1
  2. ajouter une nouvelle interface au routeur (créé aux étapes précédentes)
  3. démarrer une nouvelle instance
  4. modifier le groupe de sécurité par défaut et autoriser les connexions ICMP (ping) et ssh

La configuration réseau après le déploiement ressemble à ceci:

#list of ovs ports
ubuntu@fair-stone:~$ Sudo ovs-vsctl show
b4a92be0-56d3-4cd5-b113-9657c21daf8a
    Bridge br-ex
        Port br-ex
            Interface br-ex
                type: internal
        Port "tapf199827f-4f" #interface appears after creation new 
            Interface "tapf199827f-4f"
        Port "eth1"
            Interface "eth1"

    Bridge br-tun
        Port br-tun
            Interface br-tun
                type: internal
        Port "gre-0a050104"
            Interface "gre-0a050104"
                type: gre
                options: {in_key=flow, local_ip="10.5.1.1", out_key=flow, remote_ip="10.5.1.4"}
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
    Bridge br-int
        fail_mode: secure
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
        Port "tap08438cff-fc"  
            tag: 1
            Interface "tap08438cff-fc" 
        Port "tap592b1f29-da"
            tag: 1
            Interface "tap592b1f29-da" 
        Port br-int
            Interface br-int
                type: internal
    ovs_version: "2.0.2"

Espaces de noms de mise en réseau

ubuntu@fair-stone:~$ ip netns list
qdhcp-9d699ab8-940b-478e-ac98-ba3fd38e5d9d
qrouter-a2e0f664-e969-4df1-a2df-16adfbe82cf3

Liste des interfaces dans l'espace de noms qrouter-xxx

ubuntu@fair-stone:~$ Sudo ip netns exec qrouter-a2e0f664-e969-4df1-a2df-16adfbe82cf3 ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    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: qr-08438cff-fc: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether fa:16:3e:61:dd:b7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.1/24 brd 192.168.0.255 scope global qr-08438cff-fc
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fe61:ddb7/64 scope link 
       valid_lft forever preferred_lft forever
3: qg-f199827f-4f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether fa:16:3e:1b:c3:d7 brd ff:ff:ff:ff:ff:ff
    inet 172.16.62.193/26 brd 172.16.62.255 scope global qg-f199827f-4f #router interface
       valid_lft forever preferred_lft forever
    inet 172.16.62.194/32 brd 172.16.62.194 scope global qg-f199827f-4f #instance floating ip addres
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fe1b:c3d7/64 scope link 
       valid_lft forever preferred_lft forever

Table de routage dans l'espace de noms qrouter-xxxx

ubuntu@fair-stone:~$ Sudo ip netns exec qrouter-a2e0f664-e969-4df1-a2df-16adfbe82cf3 ip r
default via 172.16.62.254 dev qg-f199827f-4f 
172.16.62.192/26 dev qg-f199827f-4f  proto kernel  scope link  src 172.16.62.193 
192.168.0.0/24 dev qr-08438cff-fc  proto kernel  scope link  src 192.168.0.1

Iptables dans l'espace de noms qrouter-xxx

ubuntu@fair-stone:~$ Sudo ip netns exec qrouter-a2e0f664-e969-4df1-a2df-16adfbe82cf3 iptables -t nat -L -nv
Chain PREROUTING (policy ACCEPT 1721 packets, 628K bytes)
 pkts bytes target     prot opt in     out     source               destination         
 1848  635K neutron-vpn-agen-PREROUTING  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain INPUT (policy ACCEPT 908 packets, 372K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 8 packets, 542 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    8   542 neutron-vpn-agen-OUTPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain POSTROUTING (policy ACCEPT 98 packets, 6014 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  108  6773 neutron-vpn-agen-POSTROUTING  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
  104  6485 neutron-postrouting-bottom  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain neutron-postrouting-bottom (1 references)
 pkts bytes target     prot opt in     out     source               destination         
  104  6485 neutron-vpn-agen-snat  all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain neutron-vpn-agen-OUTPUT (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DNAT       all  --  *      *       0.0.0.0/0            172.16.62.194        to:192.168.0.3

Chain neutron-vpn-agen-POSTROUTING (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    4   288 ACCEPT     all  --  !qg-f199827f-4f !qg-f199827f-4f  0.0.0.0/0            0.0.0.0/0            ! ctstate DNAT

Chain neutron-vpn-agen-PREROUTING (1 references)
 pkts bytes target     prot opt in     out     source               destination         
   15   900 REDIRECT   tcp  --  *      *       0.0.0.0/0            169.254.169.254      tcp dpt:80 redir ports 9697
   97  5940 DNAT       all  --  *      *       0.0.0.0/0            172.16.62.194        to:192.168.0.3

Chain neutron-vpn-agen-float-snat (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    6   471 SNAT       all  --  *      *       192.168.0.3          0.0.0.0/0            to:172.16.62.194

Chain neutron-vpn-agen-snat (1 references)
 pkts bytes target     prot opt in     out     source               destination         
  104  6485 neutron-vpn-agen-float-snat  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
    0     0 SNAT       all  --  *      *       192.168.0.0/24       0.0.0.0/0            to:172.16.62.193

Règles nat IPtables dans l'espace de noms qrouter-xxx

ubuntu@fair-stone:~$ Sudo ip netns exec qrouter-a2e0f664-e969-4df1-a2df-16adfbe82cf3 iptables -S -t nat
-P PREROUTING ACCEPT
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P POSTROUTING ACCEPT
-N neutron-postrouting-bottom
-N neutron-vpn-agen-OUTPUT
-N neutron-vpn-agen-POSTROUTING
-N neutron-vpn-agen-PREROUTING
-N neutron-vpn-agen-float-snat
-N neutron-vpn-agen-snat
-A PREROUTING -j neutron-vpn-agen-PREROUTING
-A OUTPUT -j neutron-vpn-agen-OUTPUT
-A POSTROUTING -j neutron-vpn-agen-POSTROUTING
-A POSTROUTING -j neutron-postrouting-bottom
-A neutron-postrouting-bottom -j neutron-vpn-agen-snat
-A neutron-vpn-agen-OUTPUT -d 172.16.62.194/32 -j DNAT --to-destination 192.168.0.3
-A neutron-vpn-agen-POSTROUTING ! -i qg-f199827f-4f ! -o qg-f199827f-4f -m conntrack ! --ctstate DNAT -j ACCEPT
-A neutron-vpn-agen-PREROUTING -d 169.254.169.254/32 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 9697
-A neutron-vpn-agen-PREROUTING -d 172.16.62.194/32 -j DNAT --to-destination 192.168.0.3
-A neutron-vpn-agen-float-snat -s 192.168.0.3/32 -j SNAT --to-source 172.16.62.194
-A neutron-vpn-agen-snat -j neutron-vpn-agen-float-snat
-A neutron-vpn-agen-snat -s 192.168.0.0/24 -j SNAT --to-source 172.16.62.193
1
ksopyla