我想知道为什么客户端 IP ( 172.21.0.2
) 用作 OpenVPN 子网 ( 172.21.0.0/20
) 的网关?该 IP 归属于第一个连接的客户端。
请注意,我没有遇到客户端及其连接的任何问题。
请在下面找到一些信息以进行语境化:
server.conf
dev ovpns1
verb 1
dev-type tun
dev-node /dev/tun1
writepid /var/run/openvpn_server1.pid
#user nobody
#group nobody
script-security 3
daemon
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
proto udp4
cipher AES-128-CBC
auth SHA256
up /usr/local/sbin/ovpn-linkup
down /usr/local/sbin/ovpn-linkdown
multihome
tls-server
server 172.21.0.0 255.255.0.0
client-config-dir /var/etc/openvpn-csc/server1
lport 1194
management /var/etc/openvpn/server1.sock unix
client-to-client
duplicate-cn
ca /var/etc/openvpn/server1.ca
cert /var/etc/openvpn/server1.cert
key /var/etc/openvpn/server1.key
dh /etc/dh-parameters.2048
tls-auth /var/etc/openvpn/server1.tls-auth 0
ncp-ciphers AES-128-GCM
topology subnet
$ ifconfig -a
ovpns1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1500
options=80000<LINKSTATE>
inet6 fe80::d81e:c576:5231:832e%ovpns1 prefixlen 64 scopeid 0x6
inet 172.21.0.1 --> 172.21.0.2 netmask 0xffff0000
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
groups: tun openvpn
$ netstat -rn
Destination Gateway Flags Netif Expire
172.21.0.0/16 172.21.0.2 UGS ovpns1
172.21.0.1 link#6 UHS lo0
172.21.0.2 link#6 UH ovpns1
当客户端连接时, Openvpn
/30
从其池中分配一个网络。第一个地址将分配给客户端,第二个地址分配给服务器,它们之间的所有通信都将通过此链接(我假设是为了简化内部路由)。在您的情况下
172.21.0.1/30
,将在客户端和172.21.0.2/30
服务器上,这就是您将172.21.0.2
其视为网关地址的原因(因此客户端可以了解如何访问172.21.0.0/16
您分配给服务器的网络)。可以使用子网以外的其他拓扑,但我从未见过或需要它,请随时在此处阅读更多相关信息:OpenVPN 拓扑。