AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 439435
Accepted
sameera
sameera
Asked: 2018-04-24 01:21:22 +0800 CST2018-04-24 01:21:22 +0800 CST 2018-04-24 01:21:22 +0800 CST

Encaminhe determinado cliente através do túnel Openvpn

  • 772

Eu tenho o cliente openvpn rodando na minha caixa centos que eu uso como roteador para minha rede interna. Eu tenho duas interfaces para alcançar o mundo exterior.

eth0 - normal internet 
tun0 - openvpn tunnel 

Eu desabilito a rota automática opevpn colocando a opção "route-noexec" e agora trato todas as rotas manualmente. depois de subir o túnel openvpn, minha tabela de roteamento fica assim.

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.80.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
192.168.44.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.11.0    0.0.0.0         255.255.255.0   U     0      0        0 dummy0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
0.0.0.0         192.168.44.1    0.0.0.0         UG    0      0        0 eth0

Agora eu tenho um host interno que se conectou à interface 192.168.80.0 na minha caixa centos

192.168.80.50

Eu preciso rotear todo o tráfego deste usuário através da interface tun0 e todo o outro tráfego através da eth0

Eu tentei adicionar regras POSTROUTING como esta

iptables -t nat -A POSTROUTING -s 192.168.80.50 -o tun0 -j MASQUERADE
iptables -t nat -A POSTROUTING  -o eth0 -j MASQUERADE

mas todos os clientes passam apenas por eth0 incluindo 192.168.80.50. como posso conseguir isso?

routing iptables
  • 3 3 respostas
  • 2925 Views

3 respostas

  • Voted
  1. mariaczi
    2018-04-24T01:40:31+08:002018-04-24T01:40:31+08:00

    Se você deseja colocar todo o tráfego para clientes VPN selecionados através do túnel VPN, você deve configurar isso "no lado do cliente" - nesta configuração do usuário. No arquivo de configuração do cliente, é a opção: "redirect-gateway autolocal". No servidor VPN, você provavelmente deve ter configurado SNAT ou MASQUERADE para esses IPs de clientes VPN.

    • 0
  2. Best Answer
    Kiwy
    2018-04-24T03:21:35+08:002018-04-24T03:21:35+08:00

    Com base nesta resposta no SuperUser :

    crie uma tabela de roteamento para alguns IPs:

    ip rule add from <sourceIP>/<mask> table <name>
    

    Em seguida, declare uma nova rota para corresponder à tabela de roteamento <name>:

    ip route add default via <router> dev tun0 table <name> 
    

    seria mais fácil ter uma sub-rede para quem precisa usar a VPN pois com essa configuração você precisa especificar todos os IP na tabela<name>

    • 0
  3. rofz
    2018-04-24T05:17:28+08:002018-04-24T05:17:28+08:00

    Dê uma olhada em 'roteamento de origem iptables' e esta postagem: https://www.linuxquestions.org/questions/linux-software-2/iptables-source-ip-based-gateway-route-681522/

    Você pode criar uma tabela de roteamento específica para os clientes VPN com um gateway específico (no seu caso, este seria o endpoint da sua conexão VPN) e simplesmente adicionar uma regra iptables apontando para esta tabela de roteamento.

    • 0

relate perguntas

  • Uma pequena dúvida sobre MASQUERADE e SNAT/DNAT

  • iptables não filtra tráfego em ponte

  • iptables persistentes

  • Regras do Iptables para permitir que o appVM passe pelo proxyVM configurado para passar apenas por uma VPN no QubesOS

  • Como fazer todo o tráfego passar por uma interface no Linux

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve