你是在玩单机吗?
对于现在而言,这句话无疑是略带嘲讽的含义,也恰恰证明了网络的重要性,那么计算机里面的网络是怎么分布的呢,为啥你能上网呢,Linux系统需要需要进行哪些网络配置呢,这里就给大家简单介绍下;
这里强调下,其实大部分情况下,公司使用的Linux系统,实际上是虚拟机,即一台服务器虚拟出来3 ~ 4台虚拟机,而这3 ~ 4 虚拟机在用户使用的时候是相互独立的,互不干扰;优点自然是虚拟技术使得资源更好的利用;缺点是如果他们宿主的服务器整个磁盘坏了,是会使得四台虚拟机同时崩溃;
所以这里说道的联网说明,是指的虚拟机,虚拟机的主机,虚拟主机机房内的其他主机,外网之间的连接,具体示意图如图2.1;
如图2,局域网这里可以理解为一个机房内或者一个教室内,有很多实体机,这些实体机一般是接入同一个路由,所以一般局域网的实体机会在同一个网段(除非机器过多一个网段不够或者本身刻意配置在不同的网段),但是一般局域网内的机器是能直接通信的,即实体机1和实体机2是能通信的,而实体机需要上外网,如百度,则需要通过网关接入到万维网内;
那虚拟机是怎么通信的呢,虚拟机1、虚拟机2、虚拟机3以及他们的宿主机器实体机1其实也会形成一个局域网,而且虚拟机直接是相同网段的,但是和宿主主机不一定是相同的网段,跟你选择的网络连接方式有关,这个下个小节再讲,但是宿主主机一定是可以作为虚拟的一个代理机器的,所以虚拟机1可以通过宿主主机实体机1和实体机2通信,也可以通过实体机1通过网关接入万维网,但是实体机2不一定能直接访问虚拟机1,这个也和你选择的网络连接的种类有关;
虚拟机网络通常分为桥接模式,NAT模式,仅主机模式三类。
如图3.1,RowYet公司电脑在一个局域网内,占用的是192.168.80.*
这个网段,现在RowYet在公司玩起了虚拟机,使用桥接模式
就是虚拟出来的虚拟机会继承局域网的网段192.168.80.*
,如192.168.80.53;192.168.80.54
。
优点
:虚拟机和实体机在一个网段,相互之间可以通信,方便;
缺点
:虚拟机会占用整个网段的IP个数,整个网段总共256(192.168.80.0~255
)个IP,除去网关(192.168.80.1
)、广播地址(192.168.80.255
)、子网(192.168.80.0
),以及一些预保留备用的IP地址,剩下的并不多,所以就取决于你整个局域网规模内的服务器或电脑台数,如果本身就是一个20人左右小工作室,那无所谓,如果规模比较大,此种模式是不合适的。
如图3.2,RowYet公司电脑在一个局域网内,占用的是192.168.80.*
这个网段,现在RowYet在公司玩起了虚拟机,使用NAT(Network Address Translation 网络地址转换)模式
就是虚拟出来的虚拟机会先虚拟一块网卡出来,且该虚拟网卡会起一个新的网段,假设为192.168.182.*
,该网段和真实IP不在一个网段内;
优点
:虚拟机新开辟网段,不占用原先局域网的IP,多台机器可以虚拟大量的虚拟机。
缺点
:原先局域网内的机器李四、王五
是无法直接找到虚拟机的,因为不在同一个网络内;但是虚拟机可以找到李四、王五
,也可以上万维网,为啥呢,因为虚拟机可以通过RowYet的实体机192.168.80.75做代理,从而能实现访问李四、王五
和通过网关出去访问万维网。
仅主机模式
就是把虚拟机当成一台新的服务器,跟宿主的实体机和局域网内的其他机器都没有关系,是独立的,该虚拟机访问不了宿主的实体机,也访问不了局域网内的机器,也上不了万维网,类似一个单机,实际运用中用得少。
打开虚拟机软件VM主页,如图4.1,点击编辑虚拟机设置
,在弹出的对话框内,选择网络适配器
,选择NAT模式
,点击确定
保存即可;
虚拟机的其他配置(CPU,内存)也在该处修改保存。
点击VM主页菜单栏的编辑
,点击虚拟网络编辑器
,稍等片刻跳出虚拟网络编辑器
界面,里面选择NAT
模式,该页面下面便可以查看子网、子网掩码
;点击页面上的NAT
设置,跳转NAT设置页面,在新页面里面,就可以查看到网关、子网、子网掩码
;
打开安装好的虚拟机,开机,打开终端,在终端输入ifconfig
,查看到你的网卡名称;博主的是ens33
;
[root@node7 ~] vi /etc/sysconfig/network-scripts/ifcfg-ens33
指令vi
就是linux下的记事本,针对vi
或者vim
的操作,可以参考博客Linux常用的vi/vim指令,输入刚刚的指令后,我们能看到:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=638db334-1b8c-4ed6-afb7-23a44a8713b1
DEVICE=ens33
ONBOOT=no
修改其中的文件内容,按字母a键:
ONBOOT=no
改为 ONBOOT=yes
BOOTPROTO=dhcp
改为 BOOTPROTO=static
IPADDR=192.168.144.137
NETMASK=255.255.255.0
GATEWAY=192.168.144.2
DNS1=119.29.29.29
或者DNS1=192.168.144.2
ZONE=public
域最终文件为:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=638db334-1b8c-4ed6-afb7-23a44a8713b1
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.144.137
NETMASK=255.255.255.0
GATEWAY=192.168.144.2
DNS1=119.29.29.29
ZONE=public
ONBOOT设置为yes,表示网卡随着系统一同启动
BOOTPROTO用来设置网卡的启动类型,dhcp表示自动获取IP地址,static表示手动设置静态IP地址,一定要改成static,不然每次重启网卡都会重新分配一个ip,而且动态IP优先级高于你后面设置的IPADDR=192.168.144.137
IPADDR指定IP地址(取决于前面已自动获取到的地址)
NETMASK指定子网掩码
GATEWAY指定网关
DNS1指定上网用的DNS IP地址
119.29.29.29是国内DNSpod公司提供的一个公共,192.168.144.2是本机的DNS,二者都可以。
DNS1=119.29.29.29 可选,可写可不写
ZONE=public 可选,可写可不写
编辑完后,按下Esc键,紧接着输入“:wq!”并回车,保存并退出此文档,然后利用指令systemctl restart network.service
重启网络服务。在利用ip addr
查看一下ip地址,发现就是我们固定配置的IP,不会随着网络服务重启而变更,说明成功了。
[root@node7 ~]# systemctl restart network.service
[root@node7 ~]# ip addr
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group defaul t qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: mtu 1500 qdisc pfifo_fast state UP g roup default qlen 1000
link/ether 00:0c:29:eb:97:18 brd ff:ff:ff:ff:ff:ff
inet 192.168.144.137/24 brd 192.168.144.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::d01b:4c57:540a:9af3/64 scope link noprefixroute
valid_lft forever preferred_lft forever
[root@node7 ~]#
#修改/etc/hostname文件
sudo vim /etc/hostname
#将里面的内容改成你想要的hostname,然后wq!保存退出,利用
# 重启后生效,重启后验证下下ip 和hostname是否是你设置的,有误变更
sudo reboot
有时候因为防火墙的干扰别人需要访问你的虚拟机受挫,设计关闭防火墙的命令如下(CentOS7版本);
sudo systemctl status firewalld #查看防火墙状态
sudo systemctl stop firewalld #关闭防火墙
sudo systemctl start firewalld #开启防火墙
在 原始的Linux的Terminal命令行操作,搞得我好难受,复制、粘贴又不方便,语法关键字又不高亮,只是苦于没有IP地址,现在已经分配到IP地址,只要开通了网络端口,就能借助强大的安全终端远程操作这台Linux。
常用的远程终端有x-shell
,putty
,MobaXterm
等,putty
遇到一些错误结果的指令后会 hang住,不给重试的机会,体验感不行,x-shell
,MobaXterm
各有千秋而且都有免费版,对比如表5.1.1;
工具 | 远程登录 | 图形界面上传下载文件 | n屏联动 | 稳定性 |
---|---|---|---|---|
putty | Y | N | N | 较差 |
x-shell | Y | N | N | 较好 |
xftp | N | Y | N | 较好 |
MobaXterm | Y | Y | Y | 较好 |
博主还是比较喜欢MobaXterm
,毕竟功能上MobaXterm=x-shel+xftp
,而且MobaXterm
语法高亮很美,而且支持拖拽文件,最牛逼的是可以n屏联动,非常适合集群级别配置,如图10,进入屏联动的方法是:点击菜单栏的Terminal
,然后选择Write commands on all terminals
就可以进入该模式了,退出的话点击图5.1.4上面的Exit mult-execution mode
即可,是不是很牛?
打开安装好的MobaXterm
,如图5.1.1,点击菜单栏的Session
跳出弹框,点击弹框的SSH
,在Remote host
上写上你的linux的IP地址,Specify username
填写默认的登录用户名,我是自己的机器就写了root了。port
一般都是默认的远程端口22,除非改过;选择Bookmark settings
版块,可以写上Comments(你给这台机器写写注释)
,都配置好以后点击OK
按钮,跳转图8。
到了图5.1.2 ,如果一切都是Ok的话,第一次登录会让你输入密码,Password(linux下的Password输入不会像windows下有明文或者****的字符提示,linux光标是不会动的,别怕,你尽管输入,输错了如果你记得位数也可以按删除键Back删除,输完就按回车键Enter即可)
,密码输入准确后会问你是否保存密码,如果你点是,那么下次登录就不需要密码了,非常方便,点击Yes
跳转图9;
到了图5.1.3,说明MobaXterm就配置完成了,可以在这个命令行界面开始操作了,是不是非常漂亮,再也不用忍受原始的那个界面了,企业内往往也是靠这种远程终端开通防火墙登录linux服务器,一般不会让你直接到某台linux机器上去操作。