J'ai un serveur Linux A avec un bloc de 5 adresses IP publiques, 8.8.8.122/29
. Actuellement, 8.8.8.122
est affecté à eth0
et 8.8.8.123
est affecté à eth0:1
.
J'ai une autre machine Linux B dans un emplacement distant, derrière NAT. Je voudrais mettre en place un tunnel entre les deux afin que B puisse utiliser l'adresse IP 8.8.8.123
comme adresse IP principale.
OpenVPN est probablement la réponse, mais je n'arrive pas à comprendre comment configurer les choses ( topology subnet
ou topology p2p
pourrait être approprié. Ou devrais-je utiliser un pont Ethernet?). La sécurité et le chiffrement ne sont pas une grande préoccupation à ce stade, donc GRE serait bien aussi - la machine B proviendra d'une adresse IP connue et peut être authentifiée sur cette base.
Comment puis-je faire ceci? Quelqu'un peut-il suggérer une configuration OpenVPN, ou une autre approche, qui pourrait fonctionner dans cette situation? Idéalement, il serait également capable de gérer plusieurs clients (par exemple, partager les quatre adresses IP de rechange avec d'autres machines), sans laisser ces clients utiliser des adresses IP auxquelles ils n'ont pas droit.
iptables
règles simples . B est derrière un NAT qui est un autre serveur Linux en cours d'exécutionshorewall
.Réponses:
J'ai fini par utiliser le pontage Ethernet. Beaucoup d'exemples extrêmement verbeux à parcourir en ligne, mais cela s'avère assez facile:
Tout d'abord, sur A , a
/etc/network/interfaces
été changé de:à:
afin de relier
eth0
(la vraie interface WAN) avectap0
(une nouvelle interface tunnel) au démarrage.Ensuite, sur A , exécutez le serveur openvpn avec:
Sur B , connectez-vous avec:
C'est la configuration super simple que je cherchais, et cela fonctionne - B est maintenant accessible au public au 8.8.8.123, et les connexions sortantes proviennent de la même adresse.
Ajouter la sécurité (
--secret
,--tls-server
, etc.) au besoin, bien sûr.la source
pre-up openvpn
ligne pour créertap1
aussi, ajouteztap1
àbridge_ports
et exécutez une autre instance de openvpn avecopenvpn --dev tap1
.Vous allez avoir du mal, je pense. La plupart des pare-feu auront du mal à acheminer le trafic OpenVPN si les deux côtés du VPN sont dans le même sous-réseau.
Si vous essayez de router pour l'accès public, je déplacerais les deux serveurs vers des sous-réseaux différents à partir de vos adresses publiques, puis j'utiliserais des adresses IP virtuelles (1 à 1 Nat) pour les connecter. Pour connecter les deux sites, OpenVPN fonctionnerait ou un tunnel IP-Sec.
IP virtuelles: http://doc.pfsense.org/index.php/What_are_Virtual_IP_Addresses%3F
Site à site: http://doc.pfsense.org/index.php/VPN_Capability_IPsec
Modifier en fonction des commentaires:
J'installerais personnellement pfSense sur la boîte A et lui donnerais le port que vous vouliez pour son WAN. Ensuite, configurez un serveur OpenVPN sur un sous-réseau local (qui est prêt à fonctionner dans l'interface Web pfSense) et configurez l'autre machine avec une adresse IP virtuelle pointant vers son adresse IP OpenVPN locale. Cela vous donnerait plus de place pour l'expansion plus tard (ajoutez plus de machines avec des adresses IP virtuelles, transférez logiquement des ports spécifiques à différents serveurs, disposez vraiment d'une configuration LAN / WAN / DMZ complète avec OpenVPN pour l'accès virtuel. Sans oublier que vous auriez un un routeur complet pour qu'il soit probablement plus sûr.
la source
push "route 50.7.19.122 255.255.255.255 net_gateway"
cela garantisse que les données VPN soient toujours transmises sur le réseau normal.