Eu tenho um servidor Linux A com um bloco de 5 endereços IP públicos 8.8.8.122/29
,. Atualmente, 8.8.8.122
está atribuído a eth0
e 8.8.8.123
está atribuído a eth0:1
.
Eu tenho outra máquina Linux B em um local remoto, atrás do NAT. Gostaria de criar um túnel entre os dois para que B possa usar o endereço IP 8.8.8.123
como endereço IP principal.
O OpenVPN é provavelmente a resposta, mas não consigo descobrir como configurar as coisas ( topology subnet
ou topology p2p
pode ser apropriado. Ou devo usar a ponte Ethernet?). A segurança e a criptografia não são uma grande preocupação neste momento; portanto, o GRE também seria bom - a máquina B virá de um endereço IP conhecido e poderá ser autenticada com base nisso.
Como posso fazer isso? Alguém pode sugerir uma configuração do OpenVPN, ou alguma outra abordagem, que possa funcionar nessa situação? Idealmente, ele também seria capaz de lidar com vários clientes (por exemplo, compartilhar todos os quatro IPs sobressalentes com outras máquinas), sem permitir que esses clientes usassem IPs aos quais não têm direito.
iptables
regras simples . B está por trás de um NAT que é outro servidor Linux em execuçãoshorewall
.Respostas:
Acabei indo com a ponte Ethernet. Muitos exemplos extremamente detalhados para percorrer online, mas acaba sendo bem fácil:
Primeiro, em A ,
/etc/network/interfaces
foi alterado de:para:
para fazer a ponte
eth0
(a interface WAN real) comtap0
(uma nova interface de túnel) na inicialização.Em seguida, em A , execute o servidor openvpn com:
Em B , conecte-se a ele com:
Essa é a configuração super simples que eu estava procurando e funciona - B agora está acessível ao público em 8.8.8.123, e as conexões de saída se originam do mesmo endereço.
Adicione segurança (
--secret
,--tls-server
etc) conforme necessário, é claro.fonte
pre-up openvpn
linha para criartap1
também, adicionartap1
abridge_ports
, e executar outra instância do openvpn comopenvpn --dev tap1
.Você vai ter dificuldade, eu acho. A maioria dos firewalls terá dificuldade em rotear o tráfego OpenVPN se os dois lados da VPN estiverem na mesma sub-rede.
Se você estiver tentando rotear para acesso público, eu moveria os dois servidores para sub-redes diferentes dos seus endereços públicos e usaria IPs virtuais (1 a 1 Nat) para conectá-los. Para conectar os dois sites, o OpenVPN funcionaria ou um túnel IP-Sec.
IPs virtuais: http://doc.pfsense.org/index.php/What_are_Virtual_IP_Addresses%3F
Site para site: http://doc.pfsense.org/index.php/VPN_Capability_IPsec
Edite com base nos comentários:
Eu instalaria pessoalmente o pfSense na caixa A e daria a porta que você queria para sua WAN. Em seguida, configure um servidor OpenVPN em uma sub-rede local (que esteja pronta para entrar na interface da web do pfSense) e configure a outra máquina com um IP virtual apontado para seu IP OpenVPN local. Isso daria a você espaço para expansão posteriormente (adicione mais máquinas com IPs virtuais, encaminhe portas específicas para diferentes servidores, tenha realmente uma configuração completa de LAN / WAN / DMZ com o OpenVPN para acesso virtual. roteador completo, por isso provavelmente seria mais seguro.
fonte
push "route 50.7.19.122 255.255.255.255 net_gateway"
assegurasse que os dados da VPN ainda fossem enviados pela rede normal.