Até hoje, este site me mostrou algumas respostas que resolvem o problema. Mas parece que não consegui encontrar a resposta correta para esse problema.
Tenho um projeto de rede VPN para fins de atendimento remoto, a rede não será usada constantemente. Desenvolvi software C# para clientes Windows para configurar clientes Windows integrados para se conectarem ao servidor local da empresa.
O servidor roda Ubuntu 20.04LTS e eu configurei o Strongswan VPN com 2 clientes nele.
O Cliente A e o Cliente B podem conectar o servidor L2TP sem complicações. Qualquer um que eu possa fazer ping para o servidor de ambos os clientes. Quando tento conectar-me com clientes A e B, o servidor permite apenas a conexão de um único dispositivo e posso executar ping no servidor apenas em um único cliente.
O que eu preciso fazer é fazer ping do Cliente A para o Cliente B. Achei que não era possível definir o firewall ufw ou o iptables, mas não tenho certeza de onde seguir.
Configuração abaixo:
/etc/ipsec.secrets
192.168.0.17 %any : PSK "xpasswordx"
/etc/ppp/chap-secrets
userclientA * xpassx 192.168.30.10
userclientB * xpassx 192.168.30.11
/etc/ipsec.conf
config setup
conn L2TP-PSK-noNAT
dpdaction=clear
authby=secret
auto=add
keyingtries=3
ikelifetime=8h
keylife=1h
keyexchange = ikev1
ike=aes256-aes192-aes128-sha384-sha256-sha1-modp2048-modp1536-modp1024!
type=transport
left=192.168.0.17
leftprotoport=17/1701
right=%any
rightprotoport=17/%any
/etc/xl2tpd/xl2tpd.conf
[global]
ipsec saref = yes
saref refinfo = 30
;debug avp = yes
;debug network = yes
;debug state = yes
;debug tunnel = yes
[lns default]
ip range = 192.168.30.2-192.168.30.254
local ip = 192.168.30.1
refuse pap = yes
require authentication = yes
;ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
/etc/ppp/options.xl2tpd
logfd 2
logfile /var/log/xl2tpns.log
refuse-mschap-v2
refuse-mschap
ms-dns 8.8.8.8
ms-dns 8.8.4.4
asyncmap 0
auth
crtscts
idle 1800
mtu 1200
mru 1200
lock
hide-password
local
#debug
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT udp -- anywhere anywhere policy match dir in pol ipsec udp dpt:l2f
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
/etc/sysctl.conf
net.ipv4.ip_forward = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.icmp_ignore_bogus_error_responses = 1