O OpenVPN pode invocar o cliente DHCP?

2

Eu tenho trabalhando conexão VPN através do openvpn, mas eu gostaria de usar também o meu servidor DHCP e não o recurso push do openvpn. Atualmente tudo funciona bem, mas eu tenho que iniciar manualmente o cliente dhcp, por exemplo. dhclient tap0 e eu recebo IP e outras coisas importantes do meu DHCP, existe alguma diretiva que inicie o Cliente DHCP quando a conexão é estabelecida?

Existe a configuração do meu cliente:

remote there.is.server.com
float
dev tap
tls-client
#pull
port 1194
proto tcp-client
persist-tun
dev tap0

#ifconfig 192.168.69.201 255.255.255.0
#route-up "dhclient tap0"
#dhcp-renew

ifconfig 0.0.0.0 255.255.255.0
ifconfig-noexec
ifconfig-nowarn

ca /etc/openvpn/ca.crt
cert /etc/openvpn/encyNtb_openvpn_client.crt
key /etc/openvpn/encyNtb_openvpn_client.key
dh /etc/openvpn/dh-openvpn.dh

ping 10
ping-restart 120

comp-lzo
verb 5

log-append /var/log/openvpn.log

Aí vem a configuração do servidor:

mode server
tls-server
dev tap0
local servers.ip.here  
port 1194
proto tcp-server
server-bridge

# Allow comunication between clients
client-to-client

# Allowing duplicate users per one certificate
duplicate-cn

# CA Certificate, VPN Server Certificate, key, DH and Revocation list
ca /etc/ssl/CA/certs/ca.crt
cert /etc/ssl/CA/certs/openvpn_server.crt
key /etc/ssl/CA/private/openvpn_server.key
dh /etc/ssl/CA/dh/dh-openvpn.dh
crl-verify /etc/ssl/CA/crl.pem

# When no response is recieved within 120seconds, client is disconected
keepalive 10 60

persist-tun
persist-key

user openvpn
group openvpn

# Log and Connected clients file
log-append /var/log/openvpn
verb 3
status /var/run/openvpn/vpn.status 10

# Compression
comp-lzo

#Push data to client
push "route-gateway 192.168.69.1"
push "redirect-gateway def1"
    
por Ency 26.11.2011 / 15:31

2 respostas

1

Sim, é possível.

se você passar " - up cmd " para o processo openvpn.

o interruptor UP é definido como "Comando shell a ser executado após o TUN / TAP abrir com sucesso (mudança UID pré-usuário). O script up é útil para especificar comandos de rota que roteiam o tráfego IP destinado a sub-redes privadas existentes na outra extremidade da VPN conexão no túnel. "

    
por 26.11.2011 / 16:48
0

Você pode usar scripts de gerenciamento de rede padrão da sua distribuição. Eu resolvi esse problema no CentOS 6.6 e o truque era usar um nome de interface diferente de tap0. O problema é que os scripts assumem que as interfaces tap * são ativadas durante a inicialização e isso impede que os scripts de hotplug configurem a interface openvpn. Então,

No arquivo /etc/openvpn/client.conf, escreva:

dev priv0
dev-type tap

em vez de:

dev tap0

Em seguida, crie o arquivo de configuração / etc / sysconfig / network-scripts / ifcfg-priv0

DEVICE=priv0
BOOTPROTO=dhcp
ONBOOT=no
PERSISTENT_DHCLIENT=1
HOTPLUG=yes

E você está feito! O script /etc/sysconfig/network-scripts/net.hotplug irá chamar "ifup priv0" depois que o serviço openvpn tiver criado a interface priv0. O problema, entretanto, é que as concessões de dhcp não são liberadas quando o serviço openvpn é desativado. Isso porque a interface já é removida quando o script net.hotplug é informado, portanto o cliente dhcp não pode passar nenhum dado através do túnel. Isso pode ser corrigido adicionando-se o script pre-down, como "ifdown priv0", à configuração openvpn. Eu tinha o selinux em execução e não me preocupei em treinar novas regras para permitir o script ifdown de chamada do processo openvpn.

    
por 25.02.2015 / 14:09

Tags