编辑(2022/01/03):
根据Douglas Kosovic的回答,更新到版本1.20.08确实可以解决这个问题。
为了完整性,我事先手动添加了存储库。
sudo add-apt-repository ppa:nm-l2tp/network-manager-l2tp
sudo apt update
Ubuntu 版本 22.04 LTS
问题:
我正在尝试设置具有手动 IP 地址、网络掩码、网关和 DNS 的 L2TP VPN 连接。但是,当我连接到 VPN 时,不使用手动 IP 地址和网络掩码。
预期结果
IP 地址应为 XXX.XX.XX.124 格式,网络掩码应为 XXX.XXX.XXX.224。
实际结果
IP 地址的格式为 XXX.XX.XX.100,网络掩码的格式为 XXX.XXX.XXX.255。
其他信息
我通过已安装的 GUI 执行此操作network-manager-l2tp-gnome
,并使用屏幕截图中显示的手动设置。
手动设置的截图
我过去曾从我的 Macbook 成功设置了相同的 VPN 连接,因此我认为不需要任何进一步的手动更改(例如路由)。
以下是输出ifconfig ppp0
(我对 IP 地址和网络掩码进行了审查):
ifconfig ppp0
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1400
inet XXX.XX.31.100 netmask XXX.XXX.XXX.255 destination 1.0.0.1
ppp txqueuelen 3 (Point-to-Point Protocol)
RX packets 6 bytes 1094 (1.0 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 132 bytes 14714 (14.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
我对网络问题不太了解,所以如果我在编辑信息时过于谨慎,并且需要更多信息,请告诉我。(同样,如果我分享了太多,也请告诉我!)
谢谢!
答案1
NetworkManager-l2tp 设置一些 PPP 配置选项。
我相信您要执行的操作需要修改 NetworkManager-l2tp 源代码并设置以下 PPP 配置选项。摘自 PPP 配置选项页面https://ppp.samba.org/pppd.html
<local_IP_address>:<remote_IP_address>
设置本地和/或远程接口 IP 地址。可以省略其中任何一个。可以使用主机名或十进制点表示法指定 IP 地址(例如 150.234.56.78)。默认本地地址是系统的(第一个)IP 地址(除非noipdefault
给出了选项)。如果未在任何选项中指定,则将从对等方获取远程地址。因此,在简单情况下,不需要此选项。如果使用此选项指定了本地和/或远程 IP 地址,则 pppd 将不会在 IPCP 协商中接受来自对等方的不同值,除非分别给出了ipcp-accept-local
和/或ipcp-accept-remote
选项。
先前的 ppp.samba.org 链接和 Linux pppd(8) 手册页未列出netmask
PPP 配置选项,但 OpenBSD pppd(8) 手册页列出了https://man.openbsd.org/pppd.8。 提炼:
netmask n
将接口网络掩码设置为 n,即“十进制点”表示法的 32 位网络掩码(例如 255.255.255.0)。如果给出了此选项,则指定的值将与默认网络掩码进行“或”运算。默认网络掩码是根据协商的远程 IP 地址选择的;它是适合远程 IP 地址类的网络掩码,与系统中位于同一网络上的任何非点对点网络接口的网络掩码进行“或”运算。(注意:在某些平台上,如果这是点对点接口的唯一合适值,则 pppd 将始终使用 255.255.255.255 作为网络掩码。)
编辑:
NetworkManager-l2tp 源代码已更新,以提供对手动 IPv4 配置选项的支持;使用 pppd 的地址、网络掩码和网关,以及<local_IP_address>:<remote_IP_address>
带有netmask
以下提交的配置选项:ipcp-accept-local
ipcp-accept-remote
https://github.com/nm-l2tp/NetworkManager-l2tp/commit/bdd75014d5bd0212210c0a8c8b0d84376a6488fd
该提交基于 NetworkManager-sstp 的代码,其作者也是 pppd 的当前维护者。