3 votes

Redirection du port SSH du VPC vers le sous-réseau privé

J'ai donc passé des journées entières à me creuser les méninges sur ce dilemme. J'ai une configuration VPC avec un sous-réseau public et un sous-réseau privé. Le NAT est en place bien sûr. Je peux me connecter en SSH à une instance du sous-réseau public, ainsi qu'au NAT. Je peux même me connecter en ssh à l'instance privée depuis l'instance publique. J'ai modifié la configuration du SSHD sur l'instance privée pour accepter à la fois le port 22 et un numéro de port arbitraire 1300. Cela fonctionne parfaitement.

Mais je dois le configurer de manière à pouvoir me connecter à l'instance privée directement en utilisant le numéro de port 1300, c'est-à-dire.

ssh -i keyfile.pem user@1.2.3.4 -p 1300

et 1.2.3.4 devrait l'acheminer vers le serveur interne 10.10.10.10.

J'ai entendu dire qu'iptables était la solution idéale, j'ai donc fait des recherches et j'ai joué avec le routage. Voici les règles que j'ai configurées sur l'instance publique (pas le NAT). Je ne voulais pas utiliser le NAT pour cela car AWS préconfigure apparemment les instances NAT lorsque vous les configurez et j'ai entendu dire que l'utilisation d'iptables pouvait perturber cela.

*filter
:INPUT ACCEPT [129:12186]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [84:10472]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -p tcp -m state --state NEW -m tcp --dport 1300 -j ACCEPT
-A INPUT -d 10.10.10.10/32 -p tcp -m limit --limit 5/min -j LOG --log-prefix "SSH Dropped: "
-A FORWARD -d 10.10.10.10/32 -p tcp -m tcp --dport 1300 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT
# Completed on Wed Apr 17 04:19:29 2013
# Generated by iptables-save v1.4.12 on Wed Apr 17 04:19:29 2013
*nat
:PREROUTING ACCEPT [2:104]
:INPUT ACCEPT [2:104]
:OUTPUT ACCEPT [6:681]
:POSTROUTING ACCEPT [7:745]
-A PREROUTING -i eth0 -p tcp -m tcp --dport 1300 -j DNAT --to-destination 10.10.10.10:1300
-A POSTROUTING -p tcp -m tcp --dport 1300 -j MASQUERADE
COMMIT

C'est pourquoi, lorsque j'essaie de le faire à la maison. C'est juste un temps mort. Aucun message de refus de connexion ou autre. Et je n'arrive pas à trouver de messages de journal sur les paquets abandonnés.

Mes groupes de sécurité et mes paramètres ACL autorisent les communications sur ces ports dans les deux sens, dans les deux sous-réseaux et sur le NAT. Je ne sais plus où j'en suis. Qu'est-ce qui ne va pas ?

2voto

Chintak Chhapia Points 111

Avez-vous désactivé les contrôles source/destination ?

Par défaut, AWS vérifie la source et la destination du trafic réseau, de sorte qu'une instance doit être la destination finale de tout le trafic qu'elle envoie ou reçoit. Pour acheminer le trafic d'une instance à une autre, vous devez désactiver cette vérification :

http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html#EIP_Disable_SrcDestCheck

Un autre problème potentiel est que le routage n'a pas été activé au niveau du noyau en exécutant quelque chose comme :

echo 1 > /proc/sys/net/ipv4/ip_forward

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