Então, na verdade, tive algo parecido com isso ocorrendo recentemente - apenas um link IPSec entre um único endereço e minha rede. Eu usei para um dos meus servidores de telefone para que eu pudesse tentar obter o TFTP pela internet (por diversão).
------------------------- o lado remoto, meu servidor de telefone --------------- -
para /etc/ipsec.conf:
config setup
plutodebug=none
klipsdebug=none
dumpdir=/var/run/pluto/
nat_traversal=yes
protostack=netkey
plutostderrlog=/var/log/ipsec.log
conn L2TP-PSK-noNAT
type=tunnel
authby=secret
pfs=no
compress=no
keyexchange=ike
auth=esp
keyingtries=3
rekey=no
ike=aes256-md5-modp1536
ikelifetime=7800s
esp=aes128-md5
keylife=3600s
left=XXX.XXX.XXX.XXX
leftid=XXX.XXX.XXX.XXX
leftsubnet=XXX.XXX.XXX.XXX/32
####Those three addresses are all the same - No NAT/routing###
right=hq.myDynDNSDomainToMyOffice.com
rightid=hq.myDynDNSDomainToMyOffice.com
rightsourceip=10.0.0.1
rightsubnet=10.0.0.0/24
auto=add
para /etc/ipsec.secrets:
# this file is managed with debconf and will contain the automatically created RSA keys
include /var/lib/openswan/ipsec.secrets.inc
XXX.XXX.XXX.XXX hq.myDynDNSDomainToMyOffice.com: PSK "mySuperSecretPassword!"
---------------------- o lado local, meu firewall ------------------- --------
/etc/ipsec.conf
config setup
plutodebug="none"
nat_traversal="yes"
dumpdir=/var/run/pluto/
keep_alive="60"
probe_psk="no"
plutostderrlog=/var/log/ipsec.log
# Phone Server
conn S_REF_IpsSitPhoneServe_0
authby="psk"
auto="start"
compress="no"
ecn="no"
esp="aes128-md5"
ike="aes256-md5-modp1536"
ikelifetime="7800"
keyexchange="ike"
keylife="3600"
left="hq.myDynDNSDomainToMyOffice.com"
leftid="hq.myDynDNSDomainToMyOffice.com"
leftsourceip="10.0.0.1"
leftsubnet="10.0.0.0/24"
pfs="no"
pmtu_discovery="no"
rekeymargin="540"
right="XXX.XXX.XXX.XXX"
rightid="XXX.XXX.XXX.XXX"
rightsubnet="XXX.XXX.XXX.XXX/32"
type="tunnel"
para /etc/ipsec.secrets:
# this file is managed with debconf and will contain the automatically created RSA keys
include /var/lib/openswan/ipsec.secrets.inc
hq.myDynDNSDomainToMyOffice.com XXX.XXX.XXX.XXX : PSK "mySuperSecretPassword!"
Isso vai te dar 99% do caminho até lá. O outro 1% é com os logs de erro que estão sendo criados em /var/log/ipsec.log. Por favor, note que o lado do servidor de telefone foi feito à mão, mas o lado do firewall era o que minha GUI de firewall fazia. Pode haver alguns bits de configuração desnecessários / redundantes no segundo semestre.
Depois de trabalhar, verifique novamente todos os parâmetros de segurança antes de passar qualquer coisa 'digna de ipsec' por meio dela.
Editar 01: Eu vi que você queria exemplos melhores, então estou postando alguns novos arquivos de configuração que acabei de testar:
---------------- servidor de telefone ipsec.conf -----------------
root@phoneServerName:/home/neil# cat /etc/ipsec.conf
# /etc/ipsec.conf - Openswan IPsec configuration file
version 2.0
config setup
plutodebug=all
klipsdebug=none
dumpdir=/var/run/pluto/
protostack=netkey
plutostderrlog=/var/log/ipsec.log
conn PSK-noNAT
type=transport
authby=secret
keyexchange=ike
ike=aes256-md5-modp1536
ikelifetime=7800s
phase2alg=aes128-md5
keylife=3600s
left=XXX.XXX.XXX.XXX
leftid=XXX.XXX.XXX.XXX
right=hq.myDynDNSDomainToMyOffice.com
rightid=hq.myDynDNSDomainToMyOffice.com
auto=add
--------------------- firewall ipsec.conf ---------------------- ---
hq:/var/sec/chroot-ipsec/etc # cat ipsec.conf
#/etc/ipsec.conf - strongSwan IPsec configuration file
config setup
#metric="0"
charonstart="no"
plutodebug="none"
uniqueids="no"
nocrsend="yes"
nat_traversal="no"
keep_alive="60"
crlcheckinterval="0"
strictcrlpolicy="no"
probe_psk="no"
conn %default
rekeyfuzz="100%"
keyingtries="0"
leftsendcert="always"
dpddelay="30"
dpdtimeout="120"
dpdaction="restart"
conn transportModeFirewallToPhoneServer
authby="psk"
auto="start"
compress="no"
ecn="no"
esp="aes128-md5"
ike="aes256-md5-modp1536"
ikelifetime="7800"
keyexchange="ike"
keylife="3600"
left="hq.myDynDNSDomainToMyOffice.com"
leftid="hq.myDynDNSDomainToMyOffice.com"
leftupdown="/usr/libexec/ipsec/updown classic"
pfs="yes"
pfsgroup="modp1536"
pmtu_discovery="no"
rekeymargin="540"
right="XXX.XXX.XXX.XXX"
rightid="XXX.XXX.XXX.XXX"
type="transport"
Basicamente, basta remover qualquer coisa sobre sub-redes e alterar o tipo a ser transportado.
Esta é uma configuração de trabalho. Como eu sei que está funcionando? O IPTables bloqueia tudo no servidor do telefone. Depois que eu conecto a conexão IPSec, meu tráfego SIP e o tráfego de gerenciamento da Web passam.