Manjaro Linux 连接公司的 VPN 网络

简介: 用 Linux 和用 Windows/macOS 不一样,它真的需要用户操心很多东西。比如怎么连接公司的 VPN 网络……最后我使用 PPTP Client 连上了,遂写个文章做个记录吧。

注意:如果你公司的 VPN 网络是在苹果下使用的,本文可能不适用(苹果系统不支持 PPTP)。

用 Linux 和用 Windows/macOS 不一样,它真的需要用户操心很多东西。比如怎么连接公司的 VPN 网络……

我是折腾了挺久,反正系统自带的 VPN 连接管理界面,不管你怎么配置,就是用不了!!!

最后,我翻了 arch 的官方文档,发现有一个叫 PPTP Client 的东西,配置起来超级简单,敲几下命令就连接上了……

真正连上的那一瞬间,真的很有成就感!趁热记录下来:)

好了, 我们进入正题,首先是安装:

sudo pacman -S pptpclient

然后配置一下连接(起名叫 company):

sudo pptpsetup --create company --server 域名或 IP 地址 --username 账号 --password 密码 --encrypt

可以用以下命令测试一下 company 连接:

sudo pon company debug dump logfd 2 nodetach

会打印一堆调试信息,并最终程序卡住不会退出。连接成功后,你会看到一个 ppp0 的网卡:

ip addr

要用公司 VPN 连接的时候,需要加个路由:

sudo pon company
sudo ip route add default dev ppp0

结束使用时去掉就好了:

sudo ip route del default dev ppp0
sudo poff company

经过以上步骤配置后,就可以使用了。

但我发现特别卡,ping 了一下发现丢包率很高(6%)。

网上搜索了一圈资料,最终确定和 MTU 有关系(默认是 1500),我参考了 macOS 的 1280,设置后一切正常,不再丢包了!

sudo ifconfig ppp0 mtu 1280

MTU 设置太大会被分片,太小影响效率。因此需要设置成一个合理值,保证网络的可靠性的同时,实现传输效率的最大化。

MTU 一般网络设备都是 1500。如果本机的 MTU 比网关大,大的数据包会被拆分传送,会产生大量数据包碎片,增加丢包率,降低网络传输速度。

检查的话,可以使用以下命令:

ping -s 1472 -M do 192.168.1.123

它表示发送 1472+28 字节的数据包,并禁止路由器拆包。

  • 如果正常回复,说明网络最大 MTU 是 1500,与系统默认一致;
  • 如果不正常,说明超过网络限定大小,需要减小探测包大小再次尝试。

注:1500 = 1472 + 8(ICMP 回显请求和应答报文的格式长度)+ 20(IP 头)。

还是挺多命令要敲的,为了方便,我加了两个 alias,大家可以根据实际情况配置:

alias onn_company="sudo pon company && sleep 5 && sudo ip route add default dev ppp0 && sudo ifconfig ppp0 mtu 1280"
alias off_company="sudo ip route del default dev ppp0 && sudo route del -host 1.2.3.4 dev enp2s0 && sudo poff company"
  • sleep 5 使得连接后等一下下,再改路由;不 sleep 的话网络会卡一下,体验不是很好;
  • ifconfig 修改后的 MTU 重启电脑会丢失,但这个不是很重要,我觉得也没必搞成永久生效了;
  • route del -host 1.2.3.4 需要改成你公司的 VPN 的 IP,我发现有时候 del default 不好使,原因不明(可能我连接多次了)。

整体上还是挺方便的,简单几行命令就搞定了。


文章来源于本人博客,发布于 2022-04-27,原文链接:https://imlht.com/archives/257/

目录
相关文章
|
1月前
|
安全 Linux 虚拟化
|
6天前
|
负载均衡 网络协议 算法
不为人知的网络编程(十九):能Ping通,TCP就一定能连接和通信吗?
这网络层就像搭积木一样,上层协议都是基于下层协议搭出来的。不管是ping(用了ICMP协议)还是tcp本质上都是基于网络层IP协议的数据包,而到了物理层,都是二进制01串,都走网卡发出去了。 如果网络环境没发生变化,目的地又一样,那按道理说他们走的网络路径应该是一样的,什么情况下会不同呢? 我们就从路由这个话题聊起吧。
25 4
不为人知的网络编程(十九):能Ping通,TCP就一定能连接和通信吗?
|
26天前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
1月前
|
域名解析 网络协议 安全
|
2月前
|
运维 监控 网络协议
|
1月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
101 3
|
1月前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
87 2
|
1月前
|
物联网 5G 数据中心
|
1月前
|
存储 Ubuntu Linux
2024全网最全面及最新且最为详细的网络安全技巧 (三) 之 linux提权各类技巧 上集
在本节实验中,我们学习了 Linux 系统登录认证的过程,文件的意义,并通过做实验的方式对 Linux 系统 passwd 文件提权方法有了深入的理解。祝你在接下来的技巧课程中学习愉快,学有所获~和文件是 Linux 系统登录认证的关键文件,如果系统运维人员对shadow或shadow文件的内容或权限配置有误,则可以被利用来进行系统提权。上一章中,我们已经学习了文件的提权方法, 在本章节中,我们将学习如何利用来完成系统提权。在本节实验中,我们学习了。
|
2月前
|
Docker 容器
docker swarm启动服务并连接到网络
【10月更文挑战第16天】
45 5