问题 #
今天学习的反序列化视频里有个靶场,因为都放在WSL里会很乱,所以我决定专门开一个Linux虚拟机用来搭建靶场。于是我下载了Ubuntu Server镜像来安装,安装之后我换apt源的时候会等待好几秒再执行,非常的难受,其他的Linux没有这种问题。起初我以为是配置给低了,分配了更多的内存和处理器,但是发现并没有任何作用,然后我偶然间发现在vim同一个文件的时候,加上sudo和不加sudo是不一样的。加上sudo的时候需要等好多秒,不加就是立马响应,然后我上网查了一下。
原因是sudo被设计的时候允许/etc/sudoers中的成员不在本机上。sudo的时候会先从网络上寻找可能的sudoer,然后再从本地找。正是在这网络寻找的这一步产生了延迟时间。
于是用Wireshark检测了虚拟网卡的数据包,果然是是在向ubuntuserver1发送请求。
解决办法 #
在/etc/hosts里面添加 “127.0.0.1 ubuntuserver1”
其中ubuntuserver1是Server’name去除下划线的内容。
为什么会出现问题? #
看到原来的/etc/hosts文件我似乎明白了
原来
127.0.0.1 localhost
127.0.1.1 ubuntu_server_1
...
新增后
127.0.0.1 localhost
127.0.1.1 ubuntu_server_1
127.0.0.1 ubuntuserver1
...
安装系统的时候设置的 Server’name 是:ubuntu_server_1。系统是添加了ubuntu_server_1本地回环地址的。
在sudo发送请求的时候忽略了我的下划线,成为了ubuntuserver1,导致了问题的发生。所以我需要把ubuntuserver1设成本地回环地址。
如果我的 Server’name 当时没有加下划线,就不会有延迟了。
127.0.0.1和127.0.1.1区别(GPT提供答案)
在计算机网络中,127.0.0.1和127.0.1.1都是本地回环地址,用于在单台计算机上进行网络通信。它们之间的主要区别在于,127.0.0.1是标准的本地回环地址,通常用于在同一台计算机上进行通信,而127.0.1.1通常用于一些特殊的配置,例如在某些Linux系统上用于标识本地主机。
总的来说,通常情况下,大多数应用程序和系统都使用127.0.0.1作为本地回环地址。127.0.1.1通常在特定的系统配置中才会被使用,例如在某些Linux发行版中作为本地主机的标识。
参考URL