我已成功在测试服务器中设置 openvpn,配置 PKI 并将证书分发给测试客户端计算机。我可以使用 tun 桥另一端的 IP 从客户端计算机 ssh 到 openvpn 服务器:
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.1.0.2 P-t-P:10.1.0.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
这是通过 openvpn 配置文件中的这一行实现的:
ifconfig 10.1.0.2 10.1.0.1
我使用以下 openvpn-startup.sh 脚本启动 openvpn
dir=/home/lurscher/openvpn/testChapter8/sample-config-files/
# load the firewall
$dir/firewall.sh
# load TUN/TAP kernel module
modprobe tun
# enable IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
openvpn --script-security 2 --cd $dir --daemon --config tls-office.conf --log $dir/log/vpn.log
这是 tls-office.conf:
dev tun
ifconfig 10.1.0.1 10.1.0.2
up ./office.up
# the office.up script has this:
##!/bin/sh
#route add -net 10.0.1.0 netmask 255.255.255.0 gw $5
#(in the openvpn manual, it says that if the Device is TUN, $5 stands for Remote IP)
tls-server
dh /home/lurscher/keys/dh1024.pem
ca /home/lurscher/keys/ca.crt
cert /home/lurscher/keys/vpnCh8TestServer.crt
key /home/lurscher/keys/vpnCh8TestServer.key
verb 3
对于客户端机器,我使用以下配置文件:
dev tun
remote my.server.com
# 10.1.0.2 is our local VPN endpoint (home).
# 10.1.0.1 is our remote VPN endpoint (office).
;ifconfig 10.1.0.2 10.1.0.1
# Our up script will establish routes
# once the VPN is alive.
up ./home.up
##!/bin/sh
#route add -net 10.0.0.0 netmask 255.255.255.0 gw $5
#(in the openvpn manual, it says that if the Device is TUN, $5 stands for Remote IP)
tls-client
ca /home/chuckq/keys/ca.crt
cert /home/chuckq/keys/vpnCh8TestClient.crt
key /home/chuckq/keys/vpnCh8TestClient.key
ns-cert-type server
; port 1194
; user nobody
; group nogroup
verb 3
但是,我有点不知道如何连接/查看与 openvpn 服务器位于同一隧道的其他机器的 IP。我假设它们获得的 IP 在 10.1.XX 范围内,但我没有看到任何一台。也许我只是不知道如何查看隧道后面分配的 IP,因为我只知道ifconfig
一台机器的本地 IP,但每台机器只报告 tun IP 桥接节点(客户端和服务器),但没有提及两端的其他机器
因此,假设在 openvpn 服务器后面的一台机器上有一个 http 服务器,它不在同一台机器上;我如何从 openvpn 客户端访问它或查看它?
谢谢!
答案1
以下指令
状态 /var/log/openvpn-status.log
在 OpenVPN 服务器的配置文件中,将在 /var/log/openvpn-status.log 文件中维护所有 OpenVPN 客户端的端点地址和路由网络列表,只要 OpenVPN 正在运行,该文件每 60 秒更新一次。