[RESOLVED] Proxmox et NAT

Kronick
Messages : 3372
Inscription : ven. 12 janv. 2018 17:44

[RESOLVED] Proxmox et NAT

Message par Kronick »

Bonjour à tous !
encore un sujet sur le NAT sous Proxmox.
L'idée : 16 IP RIPE qui pointent sur le serveur OVH (Proxmox)
Dessus

Code : Tout sélectionner

auto eth0
iface eth0 inet static
        address  PUBLIC
        netmask  255.255.255.0
        gateway  PUBLIC
        broadcast  PUBLIC
        network 188.165.12.0

iface eth1 inet manual

iface eth2 inet manual

iface eth3 inet manual

auto vmbr0
iface vmbr0 inet static
        address  192.168.1.1
        netmask  255.255.255.0
        bridge_ports none
        bridge_stp off
        bridge_fd 0

auto vmbr1
iface vmbr1 inet static
        address 192.168.10.1
        netmask 255.255.255.0
        bridge_ports none
        bridge_stp off
        bridge_fd 0
ensuite une VM (firewall) avec deux interfaces réseau :
192.168.1.10 (passerelle : 192.168.1.1)

192.168.10.10 (passerell : 192.168.10.1)

La VM peut pinguer l'hôte sans problème.
Le forward est activé sur l'hôte.
J'ai ajouté une règle de forward simple :
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

avec ça, la VM peut pinguer Google et autres sans problèmes.
Maintenant, je ne peux faire d'update sur la VM (apt-get update) ou de wget.
j'avais ajouté également une autre règle pour me connecter en SSH sur la VM, mais qui ne marche pas :

Code : Tout sélectionner

 iptables –I PREROUTING –t nat –p tcp –i eth0 –s IP-RIPE 2 --dport 22 –j DNAT --to 192.168.1.10
iptables –I FORWARD –p tcp –i eth0 –s IP RIPE 2 –d 192.168.1.10 --dport 22 –j ACCEPT

et là..... c'est le drame, ça ne marche pas, je ne peux me connecter en SSH depuis l'extérieur, une idée ?
Merci :hello:
Kronick
Messages : 3372
Inscription : ven. 12 janv. 2018 17:44

[RESOLVED] Proxmox et NAT

Message par Kronick »

bon et bien résolu, c'est un bug sur le noyau
après avoir rédigé ma règle de NAT elle marche nickel si je fais lance un tcpdump sur l'hôte. Quand je coup le tcpdump, ça ne marche plus, et j'ai des warning dans les log du kernel :

Code : Tout sélectionner

Feb  9 17:21:49 ns60690 kernel: WARNING: at net/core/dev.c:1407 skb_gso_segment()
Feb  9 17:21:49 ns60690 kernel: Pid: 0, comm: swapper Tainted:  GF       2.6.24-7-pve #1
Feb  9 17:21:49 ns60690 kernel: 
Feb  9 17:21:49 ns60690 kernel: Call Trace:
Feb  9 17:21:49 ns60690 kernel:    [] skb_gso_segment+0x196/0x250
Feb  9 17:21:49 ns60690 kernel:  [] :iptable_nat:nf_nat_out+0x5b/0xf0
Feb  9 17:21:49 ns60690 kernel:  [] dev_hard_start_xmit+0x1be/0x340
Feb  9 17:21:49 ns60690 kernel:  [] __qdisc_run+0x9e/0x2a0
Feb  9 17:21:49 ns60690 kernel:  [] dev_queue_xmit+0x28d/0x370
Feb  9 17:21:49 ns60690 kernel:  [] ip_rcv_finish+0x21d/0x470
Feb  9 17:21:49 ns60690 kernel:  [] ip_rcv+0x2ae/0x360
Feb  9 17:21:49 ns60690 kernel:  [] netif_receive_skb+0x35a/0x5e0
Feb  9 17:21:49 ns60690 kernel:  [] :ixgbe:ixgbe_lro_flush+0x165/0x1b0
Feb  9 17:21:49 ns60690 kernel:  [] :ixgbe:ixgbe_clean_rx_irq+0x720/0xda0
Feb  9 17:21:49 ns60690 kernel:  [] :ixgbe:ixgbe_clean_rxonly+0x65/0x160
Feb  9 17:21:49 ns60690 kernel:  [] net_rx_action+0x12f/0x290
Feb  9 17:21:49 ns60690 kernel:  [] __do_softirq+0xba/0x150
Feb  9 17:21:49 ns60690 kernel:  [] call_softirq+0x1c/0x30
Feb  9 17:21:49 ns60690 kernel:  [] do_softirq+0x35/0x90
Feb  9 17:21:49 ns60690 kernel:  [] irq_exit+0xf5/0x100
Feb  9 17:21:49 ns60690 kernel:  [] do_IRQ+0x81/0x100
Feb  9 17:21:49 ns60690 kernel:  [] ret_from_intr+0x0/0xa
Feb  9 17:21:49 ns60690 kernel:    [] :processor:acpi_idle_enter_bm+0x2a9/0x319
Feb  9 17:21:49 ns60690 kernel:  [] :processor:acpi_idle_enter_bm+0x29f/0x319
Feb  9 17:21:49 ns60690 kernel:  [] :processor:acpi_idle_enter_c1+0x8a/0xa3
Feb  9 17:21:49 ns60690 kernel:  [] menu_select+0xb4/0xe0
Feb  9 17:21:49 ns60690 kernel:  [] cpuidle_idle_call+0xbd/0x100
Feb  9 17:21:49 ns60690 kernel:  [] cpuidle_idle_call+0x0/0x100
Feb  9 17:21:49 ns60690 kernel:  [] default_idle+0x0/0x50
Feb  9 17:21:49 ns60690 kernel:  [] cpu_idle+0x88/0x110
Feb  9 17:21:49 ns60690 kernel:  [] start_kernel+0x35c/0x3bb
Feb  9 17:21:49 ns60690 kernel:  [] _sinittext+0x10b/0x130
Je vais changer de noyau, actuellement, c'est le 2.6.24-7
Kronick
Messages : 3372
Inscription : ven. 12 janv. 2018 17:44

[RESOLVED] Proxmox et NAT

Message par Kronick »

J'ai changé le noyau et ça marche nickel.
donc, petit rappel :

Code : Tout sélectionner

$iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
$iptables -t nat -I POSTROUTING -o vmbr0 -j MASQUERADE

puis pour un natter un service (SSH par ex) : 
	$iptables –t nat –I PREROUTING –d IP RIPE –p tcp --dport 25 –j DNAT –to IP DE LA VM
	$iptables –t nat –I POSTROUTING –s IP DE LA VM –p tcp --sport 25 –j SNAT –to IP RIPE

à partir de là, vous pouvez attaquer les VM depuis l'extérieur. Bien sûr, vous devez ajouter toutes les règles autour (loopback),
créer des règles spécifiques par ip et par port pour plus de sureté, etc...
alé à tchao bonsoir :hello:
Répondre