背 景
新安装的Linux centos竟然没网,我尝试了如图1的指令,ifconfig
,报错找不到ifconfig
指令,ping www.baidu.com
ping不通,简直气急败坏,什么情况,原来centos默认ifconfig指令不通的,要用ip addr
,但是换成ip addr
也是看不到ip地址呀,问题总结下,没有分配到ip地址,联网失败。
配置网络
在命令行窗口输入dhclient
指令,用来分配IP地址,如图2,再次调用ip addr
指令后,发现成功分配到了IP地址,其中有三个地方注意下。
inet 127.0.0.1/8
:127.0.0.1是回环地址,网卡名叫做lo,用来自己和自己通信,有些程序部署时可以巧用这个地址,当在测试环境时会调用测试环境本身,当程序部署到生产环境就会自动调用生产环境本身,不需要改东西。ens33
是网卡配置inet 192.168.144.137/24
192.168.144.137就是分配到IP地址。
固定IP地址
一般默认分配IP地址都是动态的,即一旦网络服务重启,得到的IP地址就变了,这样对于要访问这台机器的访问者来说,就非常麻烦,要固定IP需要先获取到这个机器的网关IP
,子网掩码
,DNS服务器
,以及再根据子网IP
分配一个独一无二 的IP给到这台机器。如果是现实的企业,这些信息都有明确的运维网络工程师去管理分配,我这里做测试是在VMware Workstation Pro
内,我就得自己去查了,首先如图3,点击VMware Workstation Pro
的菜单栏的编辑
再点击虚拟网络编辑器
来查看虚拟机的网络配置,如图4;
在图4处,选择NAT模式
,记下子网IP
,子网掩码
,点击NAT设置(S)
,跳转,如图5,在图5处可以得到网关 IP
,至于DNS,你可以如下代码,通过cat /etc/resolv.conf
查看得到,也可以设置成119.29.29.29(国内DNSpod公司提供的一个公共DNS)
,同时你还可以点击图4的DHCP设置(P)
跳转得到图6,得到IP地址的开始和结束范围。
[root@node7 ~] cat /etc/resolv.conf
#结果
; generated by /usr/sbin/dhclient-script
search localdomain
nameserver 192.168.144.2 #这里是本机的dns
所有要的信息都得到了后,因为在图2分配IP地址的时候我们已经得到了网卡的信息ens33,所以我们直接在centos的Terminal命令行编辑网卡配置,指令如下:
[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: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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 ~]#
固定hostname
#修改/etc/hostname文件
sudo vim /etc/hostname
#将里面的内容改成你想要的hostname,然后wq!保存退出,利用
# 重启后生效,重启后验证下下ip 和hostname是否是你设置的,有误变更
sudo reboot
挂载磁盘
这个场景长用于生产环境,如果你自己测试完数据量不大觉得没必要可以不配置,什么场景呢,就是你发现磁盘太小了,想要外挂在一个进来,这里假设你已经弄好了磁盘进来,具体操作如下;
# df -h查看发现目前磁盘空间挺小的,只有16g;
df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 14G 1.6G 12G 12% /
devtmpfs 12G 0 12G 0% /dev
tmpfs 12G 0 12G 0% /dev/shm
tmpfs 12G 8.8M 12G 1% /run
tmpfs 12G 0 12G 0% /sys/fs/cgroup
/dev/sda1 1014M 160M 855M 16% /boot
tmpfs 2.4G 0 2.4G 0% /run/user/1003
# sudo fdisk -l 查看目前的磁盘,发现有一块Disk /dev/sdb: 107.4 GB,但是没用起来;
sudo fdisk -l
Disk /dev/sdb: 107.4 GB, 107374182400 bytes, 209715200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sda: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000e0b41
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 33554431 15727616 8e Linux LVM
Disk /dev/mapper/centos-root: 14.4 GB, 14382268416 bytes, 28090368 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/centos-swap: 1719 MB, 1719664640 bytes, 3358720 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
#格式化磁盘、建目录 & 挂载
mkfs.ext4 /dev/sdb
mkdir /data
mount /dev/sdb /data
#以上就是手动挂载,但是每次重启后会丢失,需要自动挂载
#自动挂载功能:查询磁盘UUID,
sudo blkid /dev/sdb #查到磁盘的UUID
#编辑/etc/fstab将磁盘挂载进去
vim /etc/fstab
UUID=6cc92a64-db3e-477f-bed6-44a65f1b1a3e /data ext4 defaults 0 0
# 重启后验证下磁盘是否自动挂载进来了
sudo reboot #重启
df -h # 看到/data已经挂载进来
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 14G 1.6G 12G 12% /
devtmpfs 12G 0 12G 0% /dev
tmpfs 12G 0 12G 0% /dev/shm
tmpfs 12G 8.8M 12G 1% /run
tmpfs 12G 0 12G 0% /sys/fs/cgroup
/dev/sdb 99G 61M 94G 1% /data
/dev/sda1 1014M 160M 855M 16% /boot
tmpfs 2.4G 0 2.4G 0% /run/user/1003
配置终端远程Linux
在 原始的Linux的Terminal命令行操作,搞得我好难受,复制、粘贴又不方便,语法关键字又不高亮,只是苦于没有IP地址,现在已经分配到IP地址,只要开通了网络端口,就能借助强大的安全终端远程操作这台Linux。
常用的远程终端有x-shell
,putty
,MobaXterm
等,putty
遇到一些错误结果的指令后会 hang住,不给重试的机会,体验感不行,x-shell
,MobaXterm
各有千秋而且都有免费版,我个人还是比较喜欢MobaXterm
,因为MobaXterm
语法高亮很美,而且支持拖拽文件,最牛逼的是可以n屏联动,非常适合集群级别配置,如图10,进入屏联动的方法是:点击菜单栏的Terminal
,然后选择Write commands on all terminals
就可以进入该模式了,退出的话点击图10上面的Exit mult-execution mode
即可,是不是很牛?
打开安装好的MobaXterm
,如图7,点击菜单栏的Session
跳出弹框,点击弹框的SSH
,在Remote host
上写上你的linux的IP地址,Specify username
填写默认的登录用户名,我是自己的机器就写了root了。port
一般都是默认的远程端口22,除非改过;选择Bookmark settings
版块,可以写上Comments(你给这台机器写写注释)
,都配置好以后点击OK
按钮,跳转图8。
到了图8 ,如果一切都是Ok的话,第一次登录会让你输入密码,Password(linux下的Password输入不会像windows下有明文或者****的字符提示,linux光标是不会动的,别怕,你尽管输入,输错了如果你记得位数也可以按删除键Back删除,输完就按回车键Enter即可)
,密码输入准确后会问你是否保存密码,如果你点是,那么下次登录就不需要密码了,非常方便,点击Yes
跳转图9;
到了图9,说明MobaXterm就配置完成了,可以在这个命令行界面开始操作了,是不是非常漂亮,再也不用忍受原始的那个界面了,企业内往往也是靠这种远程终端开通防火墙登录linux服务器,一般不会让你直接到某台linux机器上去操作。