OpenVPN이 DHCP 클라이언트를 호출할 수 있나요?

OpenVPN이 DHCP 클라이언트를 호출할 수 있나요?

openvpn을 통해 VPN 연결이 작동하고 있지만 openvpn의 푸시 기능이 아닌 DHCP 서버도 사용하고 싶습니다. 현재 모든 것이 잘 작동하지만 dhcp 클라이언트를 수동으로 시작해야 합니다. dhclient tap0DHCP에서 IP와 기타 중요한 정보를 가져옵니다. 연결이 설정될 때 DHCP 클라이언트를 시작하는 지시어가 있나요?

내 클라이언트의 구성이 있습니다.

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

서버 구성은 다음과 같습니다.

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"

답변1

예, 가능합니다.

합격하면 "--up cmd"를 openvpn 프로세스에 추가합니다.

UP 스위치는 다음과 같이 정의됩니다. " TUN/TAP 장치가 성공적으로 열린 후(--user UID 변경 전) 실행되는 셸 명령입니다. up 스크립트는 VPN 연결의 다른 쪽 끝에 존재하는 개인 서브넷으로 향하는 IP 트래픽을 장치로 라우팅하는 경로 명령을 지정하는 데 유용합니다. 터널."

답변2

배포판의 표준 네트워크 관리 스크립트를 사용할 수 있습니다. CentOS 6.6에서 이 문제를 해결했는데 비결은 tap0과 다른 인터페이스 이름을 사용하는 것이었습니다. 문제는 스크립트가 부팅 중에 tap* 인터페이스가 활성화되어 핫플러그 스크립트가 openvpn 인터페이스를 구성하는 것을 방지한다고 가정한다는 것입니다. 그래서,

/etc/openvpn/client.conf에 다음을 작성하십시오.

dev priv0
개발 유형 탭

대신에:

개발자 탭0

다음으로 구성 파일 /etc/sysconfig/network-scripts/ifcfg-priv0을 생성합니다.

DEVICE=priv0
BOOTPROTO=dhcp
ONBOOT=아니요
PERSISTENT_DHCLIENT=1
HOTPLUG=예

그리고 당신은 끝났습니다! /etc/sysconfig/network-scripts/net.hotplug 스크립트는 openvpn 서비스가 priv0 인터페이스를 생성한 후 "ifup priv0"을 호출합니다. 그러나 문제는 openvpn 서비스가 중단될 때 dhcp 임대가 해제되지 않는다는 것입니다. net.hotplug 스크립트가 알려지면 인터페이스가 이미 제거되어 dhcp 클라이언트가 터널을 통해 데이터를 전달할 수 없기 때문입니다. 이 문제는 "ifdown priv0"과 같은 사전 다운 스크립트를 openvpn 구성에 추가하여 해결할 수 있습니다. 나는 selinux를 실행하고 있었고 openvpn 프로세스 호출 ifdown 스크립트를 허용하기 위해 새로운 규칙을 연습하지 않았습니다.

관련 정보