Você provavelmente terá o mesmo problema que esta postagem
Sua situação é a seguinte:
O cliente VPN pode acessar o servidor VPN e encapsular através da VPN para a Internet, mas não pode acessar a LAN do servidor nem qualquer outro cliente VPN ip.
O tunelamento para a Internet funciona porque você tem a regra NAT do iptables. O resto você precisa aplicar o seguinte NO SERVIDOR VPN :
Ativar o encaminhamento de tcp / ip
A pilha TCP / IP do Linux, por padrão, não encaminha pacotes (entre interfaces ou reencaminhando-os entre a rede IP). Tem que estar habilitado
echo 1 > /proc/sys/net/ipv4/ip_forward
Sem isso, o servidor VPN aceitará o pacote do cliente VPN localmente e roteará o pacote do cliente de acordo com a regra NAT, mas não roteará o tráfego para a rede local.
Iptables
Iptables bloqueiam todo o tráfego por padrão. Você precisa de regras para permitir que o tráfego passe (para frente).
$IPTABLES -A FORWARD -s 192.168.1.0/24 -d 192.168.1.0/24 -j ACCEPT
PS: Cada conexão vpn é uma interface (virtual) individual (nic), para permitir que o pacote flua / passe entre elas, você precisa FORWARD no iptables.
/etc/l2tpd.conf
Quando o cliente vpn precisa falar com cada um junto, o servidor vpn está agindo como um ponto de roteamento e precisa estar no mesmo netowrk.
local ip 192.168.1.1
ip range 192.168.1.2 - 192.168.1.254
Modifique o acima de acordo com sua configuração de rede. Se o seu servidor vpn tiver um ip 192.168.1.x, use-o para o "ip local".
Script Iptables modificado
Tenha muito cuidado se você não tiver acesso físico ao servidor vpn.
(Este script vai precisar de anti-spoofing na interface wan, mas vamos nos concentrar em obter tráfego de vpn para lan primeiro.)
# Reset/Flush iptables
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
# Enable IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# NAT
# -- iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
#
# Updated NAT rule
# External interface = eth0
# External IP = 123.123.123.123
# Internal LAN = 192.168.1.0/24
# To support dynamic interface : "-j SNAT" replace "-j MASQUERADE"
# NO NAT if destination is LAN
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 ! -d 192.168.1.0/24 -j SNAT --to-source 123.123.123.123
# New(1) - lo
# -- iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT
iptables -A OUTPUT -o lo -m state --state NEW -j ACCEPT
# -- iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# New(2) Allow inter-192.168.1.x routing
iptables -A INPUT -s 192.168.1.0/24 -m state --state NEW -j ACCEPT
iptables -A OUTPUT -s 192.168.1.0/24 -m state --state NEW -j ACCEPT
iptables -A FORWARD -s 192.168.1.0/24 -m state --state NEW -j ACCEPT
# -- allow lan to router traffic - Shadowed by New(2)
# -- This rule maybe your source of trouble too, it only accept 192.168.1.x from eth2
# -- iptables -A INPUT -s 192.168.1.0/24 -i eth2 -j ACCEPT
# ssh
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
# vpn
iptables -A INPUT -p 50 -j ACCEPT
iptables -A INPUT -p ah -j ACCEPT
iptables -A INPUT -p udp --dport 500 -j ACCEPT
iptables -A INPUT -p udp --dport 4500 -j ACCEPT
iptables -A INPUT -p udp --dport 1701 -j ACCEPT
# dns - Shadowed by New(2)
# -- iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 53 -j ACCEPT
# -- iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 53 -j ACCEPT
# logging
iptables -I INPUT 5 -m limit --limit 1/min -j LOG --log-prefix "iptables denied: " --log-level 7
# block all other traffic
iptables -A INPUT -j DROP