- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
本文时间 2023-05-18 作者:sugerqube漆瓷 。
本文面向新手,重在理解会舍弃不少精密的理论,还请大佬们见谅。 本文目标 :成功使用ssh工具登录linux,同时linux能连接外网.
一切网络的目的: 为了链接两台计算机 。
windows用户可以在 win + R 输入 cmd 打开命令行使用ipconfig查看自己的ip IPv4 就是我这台电脑的ip地址192.168.1.117。 注:192.XXX一般是 局域网 。
一般用在cmd窗口用 ping 检查连通性。 用 ctrl + c 结束 ping 注:以上即以下情况介默认 防火墙开放 。
知识点2.1:防火墙可以添加规则限制上述的访问。 知识点2.2:路由器一般兼具交换机的功能.
知识点3.1:网关地址为直接连接的ip地址 。
举例一个常见网络架构 。
以我的 A 为例,电脑的网线连接着路由器 路由器 ip 为192.168.1.1 所以 网关 地址为:192.168.1.1 同时作为 同局域网 下的 B 可以直接被我访问。 现在我想要访问sugerqube.org服务器的服务 我的网络经过了路由器的网关 路由器再经过112.X的(光纤)/(交换机),然后就可以等效为下图.
显然我可以访问通局域网下的sugerqube.
再次强调,上述只是一种理解方式,真实的环境还要涉及防火墙和协议 。
有上述基础 一个拓扑图就可以理解桥接模式是什么: 这种模式胜在方便,但是有个缺点,他的ip是由真实路由器分配的,不方便我们ssh链接。 当然可以像下文那样改配置文件固定ip,不过存在 隐藏问题 。 如果是笔记本接校园网,你的网关将是变动的,不能定死 笔者更喜欢下文的host-only模式不继续深入讨论桥接模式.
有了上述基础,我们就可以很好的理解与配置VBox的网络了.
IPv4的地址 就相当于上述路由器的地址,是等一下我们linux里要配的网关地址。 DHCP服务器 ,相当于平时路由器给我们分配ip地址,192.168.1.X的由来.
可以看到我们挂在在这个“路由器”下的虚拟机的ip地址范围应该在(101-254) 服务器占用 100 地址,相当于上面的sugerqube提供服务的机子.
把虚拟机连上“VBox路由器” 。
启动配置Linux网络.
开机后使用 ip addr 查看ip,发现之前的 100 已经为我们分配了ip:192.168.137.120 但是此时的故名思议是host-only,我们的实机没有什么关系。 这里展示一个拓扑图: 所以很明显,现在我们的linux是不联网的。 想要联网,需要把VBox插到我们真机的路由器上,当然不是真的插网线 :) 。
从控制面板-》网络和Internet-》网络链接,蓝色的理解为“VBox路由器”,红色的理解为真机“路由器” 右键以太网 属性 将他共享给VBox.
!!!!!!!!! 在电脑重启后共享极有可能 失效 ,需要重新共享(VBox的bug)。 !!!!!!!!! 。
新的拓扑结构: 这时候就可以用我们的真机访问虚拟机了.
但是此时Linux还不能访问互联网,因为现在的Linux的网络配置是按照之前的拓扑图生成的。 这里我们手动改一下,顺便固定一下ip.
因为真机可以ping通linux所以我们可以上我的ssh工具。 注:bash窗口在手动关闭,物理通道断开,之前都可以保持链接,所以我们可以把ip改成其他,只是下次需要用新的ip连接.
配置文件地址 /etc/sysconfig/network-scripts/ifcfg-enp0s3 。
使用命令 cd /etc/sysconfig/network-scripts/ :移动到文件夹 sudo vi ifcfg-enp0s3 :编辑文件 。
可以看到 BOOTPROTO 是 ‘dhcp’就是我们上面看到的 100 服务器,是由他分配的意思,我们改成 static (静态) 然后我们再在文末添加我们需要的配置 。
IPADDR=192.168.137.120
GATEWAY=192.168.137.1
NETMASK=255.255.255.0
DNS1=114.114.114.114
DNS2=8.8.8.8
解析: gateway 是网关,就是我们上面拓扑图看到的插的路由器,就是VBox的192.168.137.1 netmask 是网络掩码,dns1和dns2,一般都是上述值,推荐自行深入了解.
注:vi编辑器,按 i 开始编辑,按 : 输入 wq 保存退出 。
重置一下网卡 。
service network restart
可以看到现在已经可以顺利访问互联网了.
涉及比较多的深入计算机网络知识, 且主机无法访问虚拟机,不符合本文目标,有机会单开详解.
最后此篇关于【Linux】(小白向)详解VirtualBox网络配置-配置Linux网络的文章就讲到这里了,如果你想了解更多关于【Linux】(小白向)详解VirtualBox网络配置-配置Linux网络的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
Linux 管道可以缓冲多少数据?这是可配置的吗? 如果管道的两端在同一个进程中,但线程不同,这会有什么不同吗? 请注意:这个“同一个进程,两个线程”的问题是理论上的边栏,真正的问题是关于缓冲的。 最
我找到了here [最后一页] 一种有趣的通过 Linux 启动 Linux 的方法。不幸的是,它只是被提及,我在网上找不到任何有用的链接。那么有人听说过一种避免引导加载程序而使用 Linux 的方法
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
我试图了解 ld-linux.so 如何在 Linux 上解析对版本化符号的引用。我有以下文件: 测试.c: void f(); int main() { f(); } a.c 和 b.c:
与 RetroPie 的工作原理类似,我可以使用 Linux 应用程序作为我的桌面环境吗?我实际上并不需要像实际桌面和安装应用程序这样的东西。我只需要一种干净简单的方法来在 RaspberryPi 上
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
有什么方法可以覆盖现有的源代码,我应该用 PyQt、PyGTK、Java 等从头开始构建吗? 最佳答案 如果您指的是软件本身而不是它所连接的存储库,那么自定义应用程序的方法就是 fork 项目。据我所
我的情况是:我在一个磁盘上安装了两个 linux。我将第一个安装在/dev/sda1 中,然后在/dev/sda2 中安装第二个然后我运行第一个系统,我写了一个脚本来在第一个系统运行时更新它。
我在 i2c-0 总线上使用地址为 0x3f 的系统监视器设备。该设备在设备树中配置有 pmbus 驱动程序。 问题是,加载 linux 内核时,这个“Sysmon”设备没有供电。因此,当我在总线 0
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve thi
我正试图在 linux 模块中分配一大块内存,而 kalloc 做不到。 我知道唯一的方法是使用 alloc_bootmem(unsigned long size) 但我只能从 linux 内核而不是
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我有 .sh 文件来运行应用程序。在该文件中,我想动态设置服务器名称,而不是每次都配置。 我尝试了以下方法,它在 CentOS 中运行良好。 nohup /voip/java/jdk1.8.0_71/
我是在 Linux 上开发嵌入式 C++ 程序的新手。我有我的 Debian 操作系统,我在其中开发和编译了我的 C++ 项目(一个简单的控制台进程)。 我想将我的应用程序放到另一个 Debian 操
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 4 年前。 Improve this ques
我使用4.19.78版本的稳定内核,我想找到带有企鹅二进制数据的C数组。系统启动时显示。我需要在哪里搜索该内容? 我在 include/linux/linux_logo.h 文件中只找到了一些 Log
我知道可以使用 gdb 的服务器模式远程调试代码,我知道可以调试针对另一种架构交叉编译的代码,但是是否可以更进一步,从远程调试 Linux 应用程序OS X 使用 gdbserver? 最佳答案 当然
是否有任何可能的方法来运行在另一个 Linux 上编译的二进制文件?我知道当然最简单的是在另一台机器上重建它,但假设我们唯一能得到的是一个二进制文件,那么这可能与否? (我知道这可能并不容易,但我只是
我是一名优秀的程序员,十分优秀!