Você deve ser capaz de evitar a VPN e ir direto via IPv6 a partir do VPS para o servidor de e-mail se você tivesse que executar um proxy TCP no servidor VPS.
Socat faria o truque no Linux:
socat -d -d -lmlocal2 \
TCP4-LISTEN:25,bind=myaddr1,su=nobody,fork,reuseaddr \
TCP6:mail.domain.local:80,bind=myaddr2
Ou netsh no Windows:
netsh interface portproxy add v4tov6 listenport=25 connectaddress=mail.domain.local connectport=25 protocol=tcp
Ou encaminhará as conexões feitas para o endereço IPv4 do servidor VPS para o endereço IPv6 do servidor de email.
Isso também teria o benefício adicional de pular o VPS se o remetente tiver acesso IPv6.
Se você está empenhado em usar o OpenVPN sem o encaminhamento de porta, você teria que fazer algo como o seguinte para obter o tráfego:
- Configurar o acesso IPv6 a hosts de borda
- Configurar o túnel v4 p2p através da Internet IPv6
- Configurar o roteamento para permitir que todo o tráfego do servidor de email flua pelo túnel
- Configure o NAT para traduzir o endereço v4 secundário para o endereço v4 privado do servidor de e-mail
Assumindo endereços públicos IPv4 de 1.2.3.2 e 1.2.3.3 com um gateway de 1.2.3.1. Assumindo endereços públicos IPv6 de [2001: abcd: 1 ::] para o site VPS Assumindo endereços públicos IPv6 de [2001: abcd: 2 ::] para o site do cliente Assumindo endereços de túnel IPv4 de 10.1.100.1 para a borda VPS e 10.1.100.2 para a borda Cliente
Nota: isso é um pouco pseudocódigo, mas seria bem próximo de uma configuração do cisco. Eu não tenho as configurações equivalentes do iptables e do OpenVPN, mas elas devem ser facilmente traduzidas.
Gateway VPS:
! gateway acts as a router
ip routing
ipv6 unicast-routing
! interfaces
interface outside
ip address 1.2.3.2 255.255.255.248
interface inside
ip address 172.16.10.63 255.255.255.0
ipv6 address 2001:abcd:1:1::1 /64
interface tunnel6
ipv6 address 2001:abcd:1::1
tunnel source 1.2.3.2
! Routing table:
! send traffic for the client net via the openvpn p2p link
ip route 192.168.1.0 255.255.255.0 172.16.10.100
ip route 0.0.0.0 0.0.0.0 1.2.3.1
ipv6 route ::0/0 2001:abcd:1::2
! NAT Table:
! nat the mailserver
static (outside,inside) 1.2.3.4 192.168.1.199 netmask 255.255.255.255
Servidor VPS:
! vps server acts as a v4 router
ip routing
! interfaces
interface inside
ip address 172.16.10.100
ipv6 address 2001:abcd:1:1::100 /64
interface tun0
tunnel source 2001:abcd:1:1::100
tunnel destination 2001:abcd:2:1::100
ip address 10.1.100.1 255.255.255.252
! Routing table:
ip route 192.168.1.0 255.255.255.0 10.1.100.2
ip route 0.0.0.0 0.0.0.0 172.16.10.63
ipv6 route ::0/0 2001:abcd:1:1::1
Roteador do cliente:
! gateway acts as a router
ip routing
ipv6 unicast-routing
! interfaces
interface outside
ip address from dhcp
interface inside
ip address 192.168.1.24 255.255.255.0
ipv6 address 2001:abcd:2:1::1 /64
interface tunnel6
ipv6 address 2001:abcd:2::1
! routing
ip route 172.16.10.0 255.255.255.0 192.168.1.100
ipv6 route ::0/0 2001:abcd:2::2
Borda do cliente:
! client edge acts as a v4 router
ip routing
interface inside
ip address 192.168.1.100 255.255.255.0
ipv6 address 2001:abcd:2:1::100 /64
interface tunnel0
tunnel source 2001:abcd:2:1::100
tunnel destination 2001:abcd:1:1::100
ip address 10.1.100.2 255.255.255.252
ip route 172.16.10.0 255.255.255.0 10.1.100.1
! use pbr to send internet traffic from the mailserver over the vpn
access-list 1 permit 192.168.1.199
route-map pbr-mailserver-vpn permit 10
match ip address 1
set ip default next-hop 10.1.100.1
route-map pbr-mailserver-vpn permit 20
set ip default next-hop 192.168.1.24
Servidor de e-mail:
interface inside
ip address 192.168.1.199 255.255.255.0
! since our default traffic must be natted to the secondary VPS IP, forward over
! client edge to vpn
ip route 0.0.0.0 0.0.0.0 192.168.1.100
Observação: se os roteadores de borda suportarem GRE ou outro protocolo de encapsulamento de túnel, você poderá ignorar os servidores e fazer o encapsulamento nos roteadores. No entanto, lembre-se de que o roteador do cliente deve ser capaz de fazer o roteamento de diretivas com base no endereço de origem para retornar o tráfego do servidor de email pelo túnel.
Vou enfatizar mais uma vez que isso oferece pouco benefício ao fazer o encaminhamento de porta da v4 para a v6 e aumenta a complexidade para um ponto ridículo. Ele também introduzirá problemas difíceis de rastrear, como rotas assimétricas, NAT e várias camadas de túneis (o que reduzirá a MTU em cerca de 400 bytes).