在 SoftEther 上使用 VPN 连接时,我为 VPN 创建了一个虚拟网络接口。现在,为了将 iptables 设置为通过此网络接口进行路由,我需要 VPN 服务器的网关(主机的本地 IP)。有没有简单的方法可以获取它?我试过了,ip neigh
但这没有列出我的虚拟网络接口。
答案1
尝试一下
ip r
。它将以以下形式显示信息default via aa.bb.cc.dd ...
或者
netstat -r
-Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface
traceroute goo.gl
或tracepath goo.gl
将显示所有路由器(VPN 网关在顶部)
答案2
说实话,由于您使用的是私人网络,最简单的方法就是询问您的网络管理员。
下一个最简单的方法是使用可用的连接,也许不需要 VPN
然后运行ifconfig
和ip r
或类似的命令,您就可以获得有关网络的有用信息,包括网络掩码。
inet 10.0.0.8 网络掩码 255.255.255.0 广播 10.0.0.255
ip r 默认通过 10.0.0.1 dev enp0s3 proto static metric 100 tracepath google.com
如果您无法通过这种方式获得网络架构,那么这将非常困难甚至不可能。
从典型的猜测开始,例如 xxx1 或 xxx254
如果这不起作用,则可能很难甚至不可能,这将取决于网络架构,网关可能被防火墙保护,或者可能仅响应某些功能(如 mac 或 ipaddress,或 802.1x 网络)。即使您知道网关,某些网络也不会允许您连接。
您必须从数据包嗅探器(例如 tcpdump 或 wireshark)开始,捕获网络流量,并猜测网关。
或者你可以尝试使用 nmap 发现主机
nmap -p 22 --open x.x.x.0/24
nmap 命令假定网关在标准端口 22 上运行 ssh
如果这不起作用,你必须更自由地使用 nmap 并猜测网关
注意:即使您发现或猜出了网关,您也可能无法连接。
答案3
使用配置网络接口时,dhclient
可以设置详细标志,这将产生类似的结果
~ $ dhclient -v vpn_se
Internet Systems Consortium DHCP Client 4.2.4
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Listening on LPF/vpn_se/00:ac:2b:d3:d9:e8
Sending on LPF/vpn_se/00:ac:2b:d3:d9:e8
Sending on Socket/fallback
DHCPDISCOVER on vpn_se to 255.255.255.255 port 67 interval 3 (xid=0xa0efb173)
DHCPREQUEST of 10.211.1.22 on vpn_se to 255.255.255.255 port 67 (xid=0x73b1efa0)
DHCPOFFER of 10.211.1.22 from 10.211.254.254
DHCPACK of 10.211.1.22 from 10.211.254.254
bound to 10.211.1.22 -- renewal in 1403 seconds.
DHCPOFFER
其中以 和 开头的行DHCPACK
包含客户端的本地 IP 和 VPN 网关。