VirtualBox安装CentOS相关网络配置和问题
1,总体说明
(1)本文不含如何安装CentOS的操作,如果需要这部分内容,可参考其他博文。
(2)安装好CentOS后,很多时候是网络各种奇葩问题。本文旨在给一个参考方案如何配置网络环境。
(3)以下实验环境为CentOS7版本,其他版本理论上大同小异,可能有些出入。
(4)总体而言是配置双网卡:
NAT (用于连接外网)
HOST-ONLY (用于跟宿主机通信或虚拟机之间局域网内通信)
2, NAT网络配置
先建立一个NAT网段:
工具–>全局设定–>网络–>新建
3, Host-Only配置
HostOnly 网段:
管理–>主机网络管理器
4, CentOS里网络配置
修改网络配置(ifcfg-enp0s3为对应的网卡名):
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
BOOTPROTO=static
DEVICE=enp0s3
ONBOOT=yes
IPADDR=10.0.2.101 --上面NAT的网段
NETMASK=255.255.255.0
GATEWAY=10.0.2.1
DNS1=101.81.97.122 --宿主机的DNS
DNS2=8.8.8.8
vi /etc/sysconfig/network-scripts/ifcfg-enp0s8 (ifconfig查看网卡名,新增文件)
TYPE=Ethernet
BOOTPROTO=static
DEVICE=enp0s8
ONBOOT=yes
IPADDR=192.168.56.101 --主机通信地址,网段见上面
NETMASK=255.255.255.0
vi /etc/hostname (修改主机名)
如果搭建kafka,zk等集群,最好把主机名在hosts中配置:(vi /etc/hosts)
192.168.56.101 node1
192.168.56.102 node2
192.168.56.103 node3
网卡命令
service network restart
service network start
service network stop
5, 防火墙相关
查看防火墙状态: systemctl status firewalld.service
绿的running表示防火墙开启
执行关闭命令: systemctl stop firewalld.service
再次执行查看防火墙命令:systemctl status firewalld.service
执行开机禁用防火墙自启命令 : systemctl disable firewalld.service
启动:systemctl start firewalld.service
防火墙随系统开启启动 : systemctl enable firewalld.service
firewall-cmd --permanent --add-port=3306/tcp
service firewalld restart
6,配置本地yum源
在没有网络或内网等封闭网络条件下,可能会需要配置本地yum源,用于安装软件。
查看yum源:
yum list
新建目录:
mkdir -p /app/iso
将ISO文件上传iso目录:
/app/iso/CentOS-7-x86_64-DVD-1810.iso
在/mnt下创建cdrom目录:
mkdir cdrom
将iso挂载到/mnt/cdrom下
mount -t auto CentOS-7-x86_64-DVD-1810.iso /mnt/cdrom/
备份yum源:
mv /etc/yum.repos.d /etc/yum.repos.d.bak.20200817
新建yum源目录:
mkdir /etc/yum.repos.d
创建本地yum源配置文件,写入下格内容:
vi /etc/yum.repos.d/CentOS-local.repo
[base-local]
name=CentOS7-local
baseurl=file:///mnt/cdrom
enabled=1
#secCheck: 1-check 0-uncheck
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
更新yum源配置:
yum clean all
yum makecache
重新yum list测试(已ok)
安装httpd服务,供局域网共享yum源:
yum -y install httpd
systemctl start httpd.service
ln -s /mnt/cdrom /var/www/html/centos7
浏览器打开地址访问测试(如果不通,看是否防火墙问题):
http://192.168.56.201/centos7
重新修改yum源地址baseurl为上面浏览器可以访问的地址并再次刷新yum源:
vi /etc/yum.repos.d/CentOS-local.repo:
baseurl=http://192.168.56.201/centos7/
yum clean all
yum makecache
配置开机自动挂载(在最后添加一行):
vi /etc/fstab
/app/iso/CentOS-7-x86_64-DVD-1810.iso /mnt/cdrom auto defaults 0 0
检测上一步文件修改是否ok:
mount -a
可以使用sudo mount -a, -a参数表明使用/etc/fstab中的配置进行挂载。如果发现配置不正确,可以再使用sudo umount /dev/XXX卸载对应设备。这样避免了每次修改重启电脑。 对于挂载失败的原因,可以通过dmesg命令查看。
设置httpd服务开机自启动:
第一、启动、终止、重启
systemctl start httpd.service #启动
systemctl stop httpd.service #停止
systemctl restart httpd.service #重启
第二、设置开机启动/关闭
systemctl enable httpd.service #开机启动
systemctl disable httpd.service #开机不启动
第三、检查httpd状态
systemctl status httpd.service
7,配置外部访问
有时候外面的系统需要访问虚拟机里的应用,建议在宿主机配置端口转发,如下提供几个windows的配置转发供参考,如有其它更具体复杂的需求,自行百度:
特别留意:如下操作在是在windows的cmd命令行:
#显示所有 portproxy 参数,包括 v4tov4、v4tov6、v6tov4 和 v6tov6 的端口/地址对。
netsh interface portproxy show all
#添加配置: 本机监听10022端口,当有socket连接到10022端口时,本机就连接到192.168.2.53的22端口,本机的10022端口可以接受的连接地址为"*",使用的协议为tcp,当前仅支持传输控制协议 (TCP)。
netsh interface portproxy add v4tov4 listenport=10022 connectaddress=192.168.2.53 connectport=22 listenaddress=* protocol=tcp
#删除配置: 本机的监听端口为10022,10022端口接受的连接地址为"*",使用的协议为tcp,当前仅支持TCP协议。
netsh interface portproxy delete v4tov4 listenport=10022 listenaddress=* protocol=tcp
8,问题
8_1,ping出现大量的(DUP!)
可能是启动了多台,并且mac地址相同(此种情况发生在克隆时没有留意,mac地址相同的情况)。修改MAC地址即可。
8_2, 安装虚拟机时在虚拟机中不显示鼠标光标
设置–显示–屏幕–Graphics Controller 里面选择 VBoxVGA