我想知道为什么客户端 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
答案1
当客户端连接时,Openvpn/30
会从其池中分配一个网络。第一个地址将分配给客户端,第二个地址分配给服务器,它们之间的所有通信都将通过此链接进行(我猜是为了简化内部路由)。
在您的情况下172.21.0.1/30
将在客户端上,并172.21.0.2/30
在服务器上,这就是您看到172.21.0.2
的网关地址(以便客户端可以了解如何到达172.21.0.0/16
您分配给服务器的网络)。
可以使用子网以外的其他拓扑,但我从未见过或需要它,请随时在此处阅读有关它的更多信息:OpenVPN拓扑。