Centos7.7配置
虚拟机登录
登录过程中可能会出现这样的界面,一步一步往下走会发现是帮助你新建了一个用户,不过我们还是使用 root 账户进行登录,密码即为之前设置的密码。
网卡配置
1、查看网卡
[root@localhost~]# ip addr 复制代码
返回结果为:
通过 ip 命令加参数 addr 则是查看当前网卡的配置信息, 从下图中可以看出, 当前系统的 ens33 网卡并没有 ipv4 及 ipv6, 没有 ip地址 则只能说明一个问题, 当前 linux 系统是没有办法上网的, lo 这块网卡每一个系统中都会有, 这个称之为 回环网卡。
当前系统只能通过 ping 命令 ping 通 回环网卡 也就是 127.0.0.1 这个 ip地址。
2、修改网络信息配置文件
CentOS7 默认网卡设备文件存放于 /etc/sysconfig/network-scripts/
。
[root@localhost~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 复制代码
通过 cat 查看 CentOS7 最小化安装默认网卡设备配置信息, 如下:
TYPE=Ethernet # 网卡类型:为以太网 PROXY_METHOD=none # 代理方式:关闭状态 BROWSER_ONLY=no # 只是浏览器:否 BOOTPROTO=dhcp # 网卡的引导协议:DHCP[中文名称: 动态主机配置协议] DEFROUTE=yes # 默认路由:是, 不明白的可以百度关键词 `默认路由` IPV4_FAILURE_FATAL=no # 是不开启IPV4致命错误检测:否 IPV6INIT=yes # IPV6是否自动初始化: 是[不会有任何影响, 现在还没用到IPV6] IPV6_AUTOCONF=yes # IPV6是否自动配置:是[不会有任何影响, 现在还没用到IPV6] IPV6_DEFROUTE=yes # IPV6是否可以为默认路由:是[不会有任何影响, 现在还没用到IPV6] IPV6_FAILURE_FATAL=no # 是不开启IPV6致命错误检测:否 IPV6_ADDR_GEN_MODE=stable-privacy # IPV6地址生成模型:stable-privacy [这只一种生成IPV6的策略] NAME=ens33 # 网卡物理设备名称 UUID=1678356b-1757-43ad-8de5-ad6200ce2928 # 通用唯一识别码, 每一个网卡都会有, 不能重复, 否两台linux只有一台网卡可用 DEVICE=ens33 # 网卡设备名称, 必须和 `NAME` 值一样 ONBOOT=no # 是否开机启动, 要想网卡开机就启动或通过 `systemctl restart network`控制网卡,必须设置为 `yes` 复制代码
使用 vi 文本编辑器打开网卡设备文件,进行修改。
[root@localhost~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33 //修改以下内容 BOOTPROTO=static //启用静态IP地址 ONBOOT=yes //开启自动启用网络连接 //添加以下内容 IPADDR=192.168.30.100 //设置IP地址 NETMASK=255.255.255.0 //子网掩码 GATEWAY=192.168.30.1 //设置网关 复制代码
修改结果如下:
其中 ONBOOT=yes
,设置网卡启动方式为 开机启动 并且可以通过系统服务管理器 systemctl 控制网卡。IPADDR 的设定主要是根据 本机 IP 决定的,比如说在 Dos 窗口输入 ipconfig 命令,得到以下结果:
IPv4 地址为:192.168.21.211,默认网关为:192.168.21.1,则可以将 IPADDR 设定为:192.168.21.100,GATEWAY:192.168.21.1。因为 IP 是唯一的,所以不要将这两者设为一样。
修改完毕后,按 esc 进入到 命令模式, 按住 shift + : 输入 :, 接着再输入 wq, w 是 保存, q 就是告退
。最后重启网卡。
[root@localhost~]# systemctl restart network 复制代码
如果执行上述语句报错,且错误信息如下:
Restarting network (via systemctl): Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details. [失败] 复制代码
具体解决方案可以查看:服务重启失败问题解决
我个人解决方案是将 /etc/sysconfig/network-scripts下 的 ifcfg-ens32 文件删除了即可。
验证网卡配置
1、ip addr
查看当前网卡信息
可以看到 ens33 这块网卡, IP/网关, 还有 ipv6 这个现阶段还暂时用不到。
2、ping 内网其他主机
简单点就是说 ping 本机的 ip 地址(Windos 系统可以在 Dos 窗口进行查看)。
如果 ping 不通主机,则将虚拟机网络连接改为桥接模式,如下图所示,并重启虚拟机。
当发现主机可以 ping 通虚拟机,但是虚拟机 ping 不通主机,采取以下解决方案:
修改过后,虚拟机和主机就可以互相 ping 通了。
3、ping 公网 ip
4、 ping 外网其他主机
防火墙设置
1、检查是否安装了 iptables
service iptables status 复制代码
安装 iptables
yum install -y iptables 复制代码
升级iptables
yum update iptables 复制代码
安装iptables-services
yum install iptables-services 复制代码
iptables-services 和 iptables 是不一样的,安装了 services 才有 /etc/sysconfig/iptables。
2、永久关闭 firewalld 防火墙(centos7默认的防火墙是firewalld防火墙,不是使用iptables,因此需要关闭firewalld服务)
systemctl stop firewalld.service // 停止firewalld服务 systemctl disable firewalld.service // 开机禁用firewalld服务 复制代码
3、 设置现有规则
我们很多时候在 Liunx 系统上安装了 Web 服务应用后(如tomcat、apache等),需要让其它电脑能访问到该应用,而Linux系统(Centos、redha t等)的防火墙是默认只对外开放了22端口。
iptables -P INPUT ACCEPT //先允许所有 iptables -F //清空所有默认规则 iptables -X //清空所有自定义规则 iptables -Z //所有计数器归0 iptables -A INPUT -i lo -j ACCEPT //允许来自于lo接口的数据包(本地访问) iptables -A INPUT -p tcp --dport 22 -j ACCEPT //开放22端口 iptables -A INPUT -p tcp --dport 21 -j ACCEPT //开放21端口(FTP) iptables -A INPUT -p tcp --dport 80 -j ACCEPT //开放80端口(HTTP) iptables -A INPUT -p tcp --dport 443 -j ACCEPT //开放443端口(HTTPS) iptables -A INPUT -i ens+ -p icmp --icmp-type 8 -j ACCEPT //允许ping iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT //允许接受本机请求之后的返回数据 RELATED,是为FTP设置的 iptables -P INPUT DROP //其他入站一律丢弃 iptables -P OUTPUT ACCEPT //所有出站一律绿灯 iptables -P FORWARD DROP //所有转发一律丢弃 service iptables save //保存上述规则 复制代码
注意命令执行过程中的错误,很小的问题。
配置完成后, /etc/sysconfig/iptables 文件内容如下:
:INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -i eth+ -p icmp -m icmp --icmp-type 8 -j ACCEPT -A INPUT -i ens+ -p icmp -m icmp --icmp-type 8 -j ACCEPT -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT COMMIT 复制代码
4、 开启iptables服务
systemctl enable iptables.service //注册iptables服务相当于以前的chkconfig iptables on systemctl start iptables.service //开启服务 systemctl status iptables.service //查看状态 复制代码
配置完成后再次检查一些网络。
小结
关于一些软件的配置,不可能只配置一次就够了,后续可能还会重复操作,或者帮助别人配置。好记性不如烂笔头,将操作步骤和心得体会记录下来,不仅可以自己使用,希望能够对后续学习的伙伴们有所帮助。