Eu estabeleci uma conexão de cliente L2TP / IPsec no gateway e estou tentando redirecionar meu host na LAN para usar essa conexão ao acessar a Internet.
Aqui está a topologia da rede.
Estaéatabeladeroteamentodomeugateway:
$iproutedefaultdevpppoe-wanscopelink1.0.0.1devppp1protokernelscopelinksrc192.168.179.116.6.6.6devpppoe-wanscopelink5.5.5.5devpppoe-wanprotokernelscopelinksrc5.5.5.5192.168.1.0/24devbr-lanprotokernelscopelinksrc192.168.1.1$iprule1:fromalllookuplocal10:from192.168.1.2lookup1032766:fromalllookupmain32767:fromalllookupdefault$iprouteshowtable10defaultdevppp1scopelink6.6.6.6via5.5.5.5devpppoe-wan192.168.1.0/24via192.168.1.1devbr-lan
Oproblemaéquedepoisdeadicionararotapadrãoàtabela10,meuhostnãopodemaisacessaraInternet.Usandootcpdumpparaescutarnainterface,oppp1(tcpdump-ippp1
)revelaquenenhumpacotefluiatravésdele.
Eutenteimascararainterfaceppp1com:
$iptables-tnat-APOSTROUTING-oppp1-jMASQUERADE
Nãoajudou,aindanãohápacotesfluindopelainterface.Alémdisso,okerneltempermissãopararedirecionarpacotes:
$cat/proc/sys/net/ipv4/ip_forward1
Masseeuusarainterfacediretamentenogateway,tudofuncionarábem:
$curl--interfaceppp1google.com<HTML><HEAD><metahttp-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.com.hk/?gfe_rd=cr&ei=suORVbLfOKXC8Af3noGwDA">here</A>.
</BODY></HTML>
Parece que o kernel linux do gateway de alguma forma derrubou os pacotes do meu host. Mas nenhuma das interfaces tem a filtragem de caminho inverso ativada:
$ cat /proc/sys/net/ipv4/conf/ppp1/rp_filter
0
$ cat /proc/sys/net/ipv4/conf/pppoe-wan/rp_filter
0
Então eu estou no meu juízo final. Por que o tráfego do host nunca passa pelo ppp1? Como eu poderia redirecionar meu host para a conexão do cliente L2TP / IPsec?
Eu usei a mesma configuração para um cliente PPTP e funcionou muito bem. De alguma forma, não funciona para um cliente L2TP / IPsec.
O gateway é uma caixa OpenWrt (Chaos Calmer 15.05-rc2, kernel 3.18.14). Eu uso strongSwan (5.3.0) + xl2tpd (1.3.6) para configurar o cliente L2TP / IPsec.
Esta é a configuração para strongSwan:
conn example
auto=start
keyexchange=ikev1
type=transport
left=%defaultroute
leftauth=psk
right=server.example.com
rightid=%any
rightauth=psk
dpdaction=restart
dpddelay=10s
dpdtimeout=60s
e configuração para xl2tpd
[lac example]
lns = server.example.com
length bit = yes
redial = yes
max redials = 5
pppoptfile = /etc/ppp/options.xl2tpd
e configuração para o ppp
noauth
mru 1452
mtu 1452
nomppe
ipcp-accept-remote
ipcp-accept-local
nopcomp
noaccomp
lcp-echo-interval 10
lcp-echo-failure 5
O host é um Mac (Yosemite 10.10.3).
Agradecemos antecipadamente pela ajuda.
P.S. Apenas o IP da Internet do gateway e o IP da Internet do servidor foram substituídos por IPs falsos, todos os outros IPs são os reais usados.