47 votes

Transfert de ports vers des invités dans libvirt / KVM

Comment puis-je rediriger les ports sur un serveur exécutant libvirt/KVM vers des ports spécifiés sur des machines virtuelles, lors de l'utilisation du NAT?

Par exemple, l'hôte a une adresse IP publique de 1.2.3.4. Je veux rediriger le port 80 vers 10.0.0.1 et le port 22 vers 10.0.0.2.

Je suppose que je dois ajouter des règles iptables, mais je ne suis pas sûr de l'endroit approprié ni de ce qui doit être spécifié exactement.

Sortie de iptables -L

Chaîne INPUT (politique ACCEPT)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere            udp dpt:domain 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:domain 
ACCEPT     udp  --  anywhere             anywhere            udp dpt:bootps 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:bootps 

Chaîne FORWARD (politique ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             10.0.0.0/24         state RELATED,ESTABLISHED 
ACCEPT     all  --  10.0.0.0/24          anywhere            
ACCEPT     all  --  anywhere             anywhere            
REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable 
REJECT     all  --  anywhere             anywhere            reject-with icmp-port-unreachable 

Chaîne OUTPUT (politique ACCEPT)
target     prot opt source               destination         

Sortie de ifconfig

eth0      Link encap:Ethernet  HWaddr 00:1b:fc:46:73:b9  
          inet adr:192.168.1.14  Bcast:192.168.1.255  Masque:255.255.255.0
          adr inet6: fe80::21b:fcff:fe46:73b9/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:201 errors:0 dropped:0 overruns:0 frame:0
          TX packets:85 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 longueur file TX:1000 
          RX octets:31161 (31.1 Ko)  TX octets:12090 (12.0 Ko)
          Interruption:17 

lo        Link encap:Boucle locale  
          adr inet:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Scope:Hôte
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 longueur file TX:0 
          RX octets:0 (0.0 octets)  TX octets:0 (0.0 octets)

virbr1    Link encap:Ethernet  HWaddr ca:70:d1:77:b2:48  
          inet adr:10.0.0.1  Bcast:10.0.0.255  Masque:255.255.255.0
          adr inet6: fe80::c870:d1ff:fe77:b248/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 longueur file TX:0 
          RX octets:0 (0.0 octets)  TX octets:468 (468.0 octets)

J'utilise Ubuntu 10.04.

-1voto

topdog Points 3490
iptables -t nat -I PREROUTING -d 1.2.3.4 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.1
 iptables -t nat -I PREROUTING -d 1.2.3.4 -p tcp --dport 22 -j DNAT --to-destination 10.0.0.1

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X