CentOS开机登陆前显示ip

本文介绍了在CentOS系统中实现开机不登陆显示IP的方法。因编辑登陆前后显示公告的配置文件无法达到目的,故采用自建开机服务程序获取IP并写入配置文件。具体操作包括编写shell文件、开机启动服务配置文件,设置服务开机启动,最后重启机器查看效果。

不登陆系统就不知道IP,在某些时候有点尴尬,之前见过在EVE模拟器上能够开机不登陆就显示ip

所以研究了下如何能做到,顺便记录下来,以免忘记~

  1. 登陆前显示公告的配置文件是:/etc/issue ;

  1. 登陆后显示公告的配置文件是:/etc/motd ; ( message of today )

这两个是普通的文本文件,只支持简单的一些转义,罗列如下:

\d 本地端时间的日期;
\l 显示第几个终端机接口;
\m 显示硬件的架构等级 (i386/i486/i586/i686...);
\n 显示主机的网络名称;
\o 显示 domain name;
\r 操作系统的版本 (相当于 uname -r)
\t 显示本地端时间的时间;
\S 操作系统的名称;(大写S)
\v 操作系统的版本。

所以,简单编辑这两文件都做不到我想要的结果。

那就考虑用自建开机服务程序去获取ip并写入到/etc/issue , 操作方法如下:

  1. 编写shell文件 vim /bin/issue.sh ,根据ip addr命令并使用awk命令得到ip后写入文件

#!/bin/sh
ipaddr=`ip addr | grep "scope global" | awk '{print $2}' | awk -F/ '{print $1}' | head -1`

#以下代码检测issue.e.bak是否存在,如果存在就还原为原始文件用于追加写入上面得到的ip,如果不存在,就备份为issue.e.bak
if [ -f /etc/issue.e.bak ] ; then
        `cp /etc/issue.e.bak /etc/issue`
else
        `cp /etc/issue /etc/issue.e.bak`
fi

echo "" >> /etc/issue
echo "This host's IP is : $ipaddr" >> /etc/issue
echo "" >> /etc/issue
  1. 编写开机启动服务配置文件: vim /etc/systemd/system/issue.service

[Unit]
Description=Issue INFO
After=NetworkManager-wait-online.service

[Service]
Type=oneshot
User=root
ExecStart=/bin/issue.sh

[Install]
WantedBy=multi-user.target
  1. 设置服务开机启动并检查:systemctl enable issue.service & systemctl list-unit-files | grep issue.service

[root@centos8-test ~]# systemctl list-unit-files | grep issue.service
issue.service                              enabled

4.最后,reboot下您的机器。然后就能看到效果啦~

### CentOS 7 中 IP 地址无法显示的解决方案 对于在 VMware 上运行的 CentOS 7 系统中遇到 `ens33` 网卡不显示 IP 地址的情况,可以采取以下措施来解决问题。 #### 关闭 NetworkManager 服务 有时 NetworkManager 可能会干扰网络接口的正常工作。可以通过停止该服务并禁用其自动启动功能来尝试修复此问题: ```bash systemctl stop NetworkManager systemctl disable NetworkManager ``` 这一步骤有助于排除因管理工具冲突而导致的网络配置失败[^1]。 #### 修改网卡配置文件 编辑 `/etc/sysconfig/network-scripts/` 下对应的网卡配置文件(通常是 `ifcfg-ens33`),确保其中包含必要的参数以静态方式分配 IP 地址或其他所需属性: ```bash vi /etc/sysconfig/network-scripts/ifcfg-ens33 ``` 在此文件内应至少定义如下几项设置: - `BOOTPROTO=static`: 设置为静态获取 IP; - `ONBOOT=yes`: 开机时激活此设备; - 添加合适的 `IPADDR`, `NETMASK`, 和 `GATEWAY` 字段指定具体的 IPv4 配置信息; - 如果需要的话还可以加首选和备用 DNS 服务器的信息如 `DNS1=` 和 `DNS2=`。 例如完整的配置可能看起来像这样: ```plaintext TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="static" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" NAME="ens33" DEVICE="ens33" ONBOOT="yes" IPADDR="192.168.2.2" PREFIX="24" GATEWAY="192.168.2.1" DNS1="114.114.114.114" ``` 保存更改后的配置文件,并重启网络服务使新设定生效: ```bash systemctl restart network ``` 通过上述操作通常能够解决大多数情况下由于错误配置引起的 IP 地址缺失问题[^3][^4]。 #### 使用 ifconfig 或 ip addr 查看状态 完成以上步骤之后,再次使用 `ifconfig` 或者更推荐使用的 `ip addr show` 来确认新的 IP 是否已被正确分配给目标网卡。 如果仍然存在问题,则建议进一步排查物理连接状况以及 VMWare 的网络适配器设置是否恰当[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值