OpenVPN 전체 터널이 작동하지 않음(명령줄)

OpenVPN 전체 터널이 작동하지 않음(명령줄)

서버에 핑을 보낼 수 있지만 google.com이나 8.8.8.8에는 핑할 수 없으며, 추적 경로도 실패합니다.

섬기는 사람:

$iptables -t nat -A POSTROUTING -s 10.9.8.0/24 -o eth0 -j MASQUERADE
$openvpn --dev tun1 --server 10.9.8.0 255.255.255.0 --dh /etc/openvpn/easy-rsa/keys/dh2048.pem --ca /etc/openvpn/easy-rsa/keys/ca.crt --cert /etc/openvpn/easy-rsa/keys/Hal.crt --key /etc/openvpn/easy-rsa/keys/Hal.key --reneg-sec 60 --verb 5 --duplicate-cn --mode server --client-to-client --push "redirect-gateway def1"

고객:

$openvpn --remote 10.0.0.102 --dev tun1 --client --ca /etc/openvpn/easy-rsa/keys/ca.crt --cert /etc/openvpn/easy-rsa/keys/client1.crt --key /etc/openvpn/easy-rsa/keys/client1.key --reneg-sec 60 --verb 5

위 명령이 실행된 후 클라이언트의 경로 테이블:

$route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.9.8.5        128.0.0.0       UG    0      0        0 tun1
default         10.0.0.1        0.0.0.0         UG    0      0        0 eth0
10.0.0.0        *               255.0.0.0       U     0      0        0 eth0
routbuntu-2.loc 10.0.0.1        255.255.255.255 UGH   0      0        0 eth0
10.9.8.0        10.9.8.5        255.255.255.0   UG    0      0        0 tun1
10.9.8.5        *               255.255.255.255 UH    0      0        0 tun1
128.0.0.0       10.9.8.5        128.0.0.0       UG    0      0        0 tun1

답변1

----일반적으로:

openvpn의 샘플 .conf-file을 사용해야 합니다. 중요한 옵션을 설명하고 있기 때문에 개선할 수 있습니다.

VPN을 시작한 후 이 명령을 사용하여 ifconfig가상 터널 장치(예: tun0)가 서버와 클라이언트에 구성(업/온라인)되었는지 확인하세요.

@verbosity, 출력을 너무 많이 읽어서 읽을 수 있고 출력 게시에 문제가 있는 경우 verb 3기본값 을 사용해 보아야 할 수도 있습니다 . verb 5openvpn은 분석할 수 있도록 자세한 출력을 제공합니다.

----문제 해결:

lan-ipaddress 또는 vpn-virtual-ip-address 10.9.8.1을 사용하여 "서버"에 ping을 보낼 수 있습니다. 나는 당신의 VPN 연결이 이러한 설정으로 설정되지 않을 것이라고 가정하기 때문에 LAN/WAN-ipaddress를 핑한 것 같습니다. LAN/WAN-ip를 핑해도 VPN이 작동하는지 여부에 대해 아무 것도 알려주지 않습니다.

귀하의 질문은 매우 모호하고 많은 정보가 누락되었습니다. 하지만 나는 VPN 서버를 통해 VPN 클라이언트 컴퓨터의 모든 인터넷 트래픽을 라우팅한다고 가정합니다.

이 경우:

--openvpn-server를 소프트웨어 라우터로 설정하려면 이 iptables 규칙만으로는 충분하지 않다고 생각합니다.

일반적으로 라우팅을 위한 iptables 구성은 다음과 같습니다. iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i tun0 -s 10.9.8.0/24 -o eth0 -j ACCEPT openvpn-manpages에는 "--push "redirect-gateway def1" 옵션과 사용한 ip-tables nat 행만 언급되어 있습니다. 하지만 이 iptables 규칙이 도움이 되는지 시도해 보아야 합니다. .

--그리고 내 생각엔 openvpn-server의 컴퓨터에서 IP 전달이 활성화되어야 한다고 생각합니다.

sysctl net.ipv4.ip_forward=1 sysctl net.ipv6.conf.default.forwarding=1 sysctl net.ipv6.conf.all.forwarding=1

@ openvpn 서버 구성:

--dev tun과 중에서 선택할 수 있으며 dev taptun0 또는 tun1 옵션은 없습니다.

-- mode server올바르지 않으며 이미 다음으로 모드를 설정했습니다.server 10.9.8.0 255.255.255.0

@ openvpn 클라이언트 구성:

--dev tun여기도 이용하세요

-- remote YourServersIpAddress이것이 실제로 LAN이나 인터넷에 있는 openvpn 서버의 ipaddress인지 확인하세요. 10.0.0.102는 나에게 특이한 것 같습니다.

관련 정보