Sua configuração não está completamente definida.
Eu faço essa suposição:
-
PC A
já está na VPN e na sub-rede 192.168.
Então, PC A
pode alcançar PC B
normalmente.
Os endereços exatos de PC A
e PC B
na sub-rede local não são fornecidos, infelizmente.
Como você não tem controle sobre PC B
, é necessário criar um encaminhamento de porta em PC A
para cada porta que deseja acessar no PC B.
No debian, você deve encaminhar as portas usando iptables
.
Eu tenho uma configuração semelhante com uma máquina opensuse que encaminha o RDP em PC B
pela VPN.
Isso seria em PC A
.
pc_b=192.168...
macbook=10.8.0.6
case "$1" in
'start')
iptables -F FORWARD
iptables -t nat -F
iptables -P FORWARD DROP
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
# VPN FORWARD of the RDP port (3389)
iptables -A FORWARD -p tcp -s $pc_b --sport 3389 -d $macbook -j ACCEPT
iptables -A FORWARD -p icmp -s $pc_b -d $macbook -j ACCEPT
iptables -A FORWARD -p tcp -d $pc_b --dport 3389 -s $macbook -j ACCEPT
iptables -A FORWARD -j REJECT
# RDP from VPN
iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 3389 \
-j DNAT --to-destination $pc_b
;;
'stop')
iptables -F FORWARD
iptables -t nat -F
iptables -P FORWARD ACCEPT
echo 0 > /proc/sys/net/ipv4/ip_forward
;;
'status')
iptables -t nat -L PREROUTING
;;
esac
Este script aceita start
, stop
e status
e pode ser usado no rc.d como um script de nível de execução em PC A
tun0
é a interface da VPN.
Isso impedirá qualquer tráfego entre a sub-rede 192.168..
e a VPN, exceto as portas abertas explicitamente (3389 neste exemplo).
Você não tem que desaprovar todos os outros encaminhamentos, mas eu recomendaria isso.
Isso também encaminhará o acesso a 10.8.0.7:3389
a 192.168..:3389
.
Se você não quiser usar o encaminhamento de porta, precisará alterar o roteamento em PC B
de alguma forma.
Se você não tiver acesso a PC B
, precisará direcionar o tráfego do gateway padrão de PC B
para a VPN .
Uma possibilidade é rotear o tráfego para a VPN do gateway padrão para PC A
.
Isso só funciona se você usar uma sub-rede diferente no local do macbook do que a usada entre PC A
e PC B
Se você usa algum tipo de roteador com o seu macbook, provavelmente também tem uma sub-rede 192.168.
Para essa configuração, você não usa o script anterior.
Você ainda precisa
echo 1 > /proc/sys/net/ipv4/ip_forward
(o mesmo que sysctl -w net.ipv4.ipforward=1
)
Como configurar o roteamento depende do sistema operacional no gateway padrão e do seu macbook.
Em geral, funciona assim:
No macbook (rota para PC B
):
route add 192.168.. gw 10.8.0.7
Isso só funciona se não houver 192.168 .. sub-rede local já presente para o macbook!
No gateway padrão de PC B
(rotear para VPN sobre PC A
):
route add 10.8.0.6 gw 192.168..
Naturalmente, como os endereços de sub-rede internos de PC A
e PC B
não são fornecidos pela pergunta, também não posso fornecer as informações de roteamento exatas.