写在前面的话:用过Linux的同学应该都会觉得Linux安装是件非常简单的事情,根本不值得用博客记下来!但是我发现,其实没接触过Linux的同学还真不一定会装,就像在IT行业工作过几年但一直用Windows系统的同学可能就不会装Linux,这是现实!毕竟不是谁都需要去安装或配置Linux服务器的!所以想了下,还是将Linux的基本安装过程记一下流水账,在流水账最后讲一下基本网络环境的配置。
这里以使用Linux皇家血统Red Hat Enterprise Linux的源码编译而成的CentOS(Community Enterprise Operating System)为蓝本进行流水账的记录!CentOS的具体版本号为:CentOS-8.1.1911-x86_64,建议到阿里云CentOS镜像库下载,速度快嘛(可能你看这篇文章时已经有更新的版本了,但8.x的版本应该不会相差太多,多年后的小白如果发现8.x版本早已下架,那么可以关贴了)!
为了讲得足够小白,我从虚拟机的创建开始一步一步记下去,基本上都是截图标注+少量文字补充说明的方式(不要多说,一切都在酒中,一切都在图中!!!),没啥技术含量的,所以不是小白的同学可以关贴了!小白就接着看吧!→♥
先用VMware-workstation 15.5 创建虚拟机(VMware是收费的,别问我哪里搞到的,我是不会告诉你的,因为你懂的!):
CPU个数、核数以及内存大小要视自己的需要而定;比如Gitlab服务器一般都需要4G以上的内存。
网络模式也要视自己的情况而定,比如我的路由器内置了DHCP功能的,能够分配跟宿主机同级的IP地址并进行上网,这种情况我选择桥接模式可能会更好些,让宿主机与虚拟机处于相同级别,更像企业真实环境的局域网情况。关于这几种网络模式的区别,就自己去学了,将来有时间可能会再详细出一篇文章讲!现在继续...
虚拟机的磁盘大小后期是可以更改的,所以这里不用紧张才20G,先按默认的大小创建!当然如果你确定会有很多数据,那一开始设置大一点也没事!
选定好我们的CentOS8.1操作系统ISO文件作为后面的系统安装介质(光盘)
首屏安装界面默认选中的是第二项“Test this media & Install CentOS Linux 8”,即检测安装介质并安装CentOS 8,检测的目的是看看安装包有没有被别人篡改过,比如植入后门、病毒等,如果不是生产服务器的安装,可以不用检测安装介质,直接上下方向键选择上面的“Install CentOS Linux 8”,因为安装介质检测过程可能会花掉很长的时间,机器慢一点的半个小时以上都有可能!
这是我建议的配置顺序:先配网络→再配日期时间(NTP服务器要用到前面的网络)→再配磁盘分区和文件系统→再配操作系统支持的语言→最后配要安装的软件包,下面我将按这个顺序来截图记录配置过程:
如果你设置的密码不够强大,但你坚持要用,那得按两次左上角的Done按钮!
最后一些常见问题的解答:
问题1:桥接模式(自动)安装完后,相同网段Linux主机ping宿主机的IP没有效果?
可能原因:宿主机防火墙开启状态,并且没有将ICMPv4协议配置成可以入站;
问题2:桥接模式(自动)安装完后,相同网段宿主机ping Linux主机的IP没有效果?
可能原因:Linux主机防火墙开启状态,并且没有将ICMPv4协议配置成可以入站;
Linux允许ping设置:
1) 临时允许ping的操作命令为:
# echo 0>/proc/sys/net/ipv4/icmp_echo_ignore_all
2) 永久允许ping的配置方法为:在 /etc/sysctl.conf系统控制配置文件中增加一行 net.ipv4.icmp_echo_ignore_all=0 修改完成保存后,执行sysctl -p使新配置生效:
# vim /etc/sysctl.conf
# systctl -p
net.ipv4.icmp_echo_ignore_all=0
此时可以尝试再从宿主机ping一下Linux主机,如果还没效果,可以尝试临时停止一下防火墙:
使用# systemctl stop firewalld.service 命令或 # service iptables stop 命令来停机防火墙:
# systemctl stop firewalld.service
# service iptables stop
然后可以再次尝试再从宿主机ping一下Linux主机,如果能通,那说明之前不能通是防火墙在阻止,配置防火墙允许ping通过:
# iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT # iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
生产服务器上一般是不允许ping的,如何禁掉之前开启的ping功能呢?
防火墙层面禁止ping:
# iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
系统参数配置层面禁止ping:
1) 临时禁止ping的操作命令为:
# echo 1>/proc/sys/net/ipv4/icmp_echo_ignore_all
2) 永久禁止ping的配置方法为:在 /etc/sysctl.conf系统控制配置文件中增加一行(原来有的话直接修改) net.ipv4.icmp_echo_ignore_all=1 修改完成后执行sysctl -p使新配置生效
# vim /etc/sysctl.conf
# systctl -p
net.ipv4.icmp_echo_ignore_all=1
如果上述禁用ping的设置都没有起作用,可以通过 # iptables -L 查看一下是不是还有其他的icmp防火墙设置在起作用,例如可能还有
# iptables -A INPUT -p icmp -j ACCEPT # iptables -A OUTPUT -p icmp -j ACCEPT
这样的设置在起作用,将它们DROP掉就行了:
# iptables -A INPUT -p icmp -j DROP # iptables -A OUTPUT -p icmp -j DROP
问题3:命令如何设置服务器静态网络信息,如IP?
RHEL 8/CentOS 8版本开始network.service默认没有安装,默认只使用NetworkManager作为网络管理工具,而且RedHat官方指出在后续的版本中会彻底不支持network.service!!!
首先通过命令:# nmcli connection show 查看服务器网卡信息:
# nmcli connection show NAME UUID TYPE DEVICE ens33 d041f8bf-dfef-45e9-8055-466170b5c09f ethernet ens33
然后到Linux的网卡配置目录 /etc/sysconfig/network-scripts/ 找到相应网卡的配置文件并用vi打开,例如:
# vi /etc/sysconfig/network-scripts/ifcfg-ens33
将BOOTPROTO的值由dhcp改为static,即静态分配;
在文档最后新起一行添加IPADDR={你的IP地址},例如IPADDR=”192.168.0.104”
在文档最后新起一行添加PREFIX={你的子网掩码前缀},例如PREFIX=”24”
在文档最后新起一行添加GATEWAY={你的网关地址},例如GATEWAY=”192.168.0.1“
保存配置变更,通过下面命令重启网卡(其中ens33为网卡设备名称):
# nmcli con up ens33
# systemctl restart NetworkManager
重启完后,可以通地下面命令查看网卡信息:
# ifconfig
问题4:命令怎么设置DNS地址?
DNS地址的配置文件在:
# vim /etc/resolv.conf # Generated by NetworkManager search DHCP HOST nameserver 10.198.1.1 nameserver 114.114.114.114