linux基本配置

1.修改主机名—重启后永久生效

  • centos6的做法,

vi /etc/sysconfig/network

  1. NETWORKING=yes
  2. HOSTNAME=server1.itcast.cn
  • centos7做法
#1 无需重启只需新开会话便可变为新的主机名
hostnamectl set-hostname Master

#2 通过修改文件,重启reboot生效
vi /etc/hostname 添加主机名
Slave01
vi /etc/sysconfig/network 添加IP和hostname对应关系
10.238.162.33  Slave01

#3 临时修改主机名
hostname Slave01

资料来源:https://www.jb51.net/article/155394.htm


2.修改ip地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0(不通的系统版本,名称可能会变,例如centos7为ens-33)
找到网卡的配置文件,然后修改下方的参数,不要将文件中的内容全部删除。
修改之后
service network restart

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes     #是否开机启用
BOOTPROTO=static   #ip地址设置为静态
IPADDR=192.168.0.101
NETMASK=255.255.255.0
GATEWAY=192.168.11.1  #自己对应的网关地址,非必需,如果要访问外网时必填
DNS1=8.8.8.8  # 提前设置好dns,可以避免不能访问域名的问题

image.png

注意:克隆的虚拟机,启动网络服务可能会启动失败。

service network restart
会报错:Device eth0 does not seem to be present, delaying initialization

  • 现象:虚拟机Vmware上克隆了一个Red Hat Enterprise Linx启动时发现找不到网卡,如下所示,如果你在命令窗口启动网络服务就会遇到”Device eth0 does not seem to be present, delaying initialization“错误

1.png


service network restart
Shutting down loopback insterface:                                                                                                     [  OK  ]
Bringing up loopback insterface:                                                                                                          [  OK  ]
Bringing up interface eth0:  Device eth0 does not seem to be present,delaying initialization.                    [FAILED]
  • 错误原因:

克隆的Linux系统在新的机器上运行,新服务器网卡物理地址已经改变。而/etc/udev/rules.d/70-persistent-net.rules这个文件确定了网卡和MAC地址的信息之间的绑定,克隆后的网卡的MAC已经发生了变化,所以导致系统认为网络设备不存在,网络不能正常启动。另外一个就是/etc/sysconfig/network-scripts/ifcfg-eth0里面MAC地址也是以前的旧信息。
关于/etc/udev/rules.d/70-persistent-net.rules这个文件,系统在启动时会自动监测变化,然后由/lib/udev/write_net_rules写入到/etc/udev/rules.d/70-persistent-net.rules中一个新的配置节,网卡的的序号依次递增(如原来为eth0,则修改第一后生成一个eth1,再次修改后生成一个eth2…),且其ATTR{address}的值为当前网卡对应的mac地址。简而言之,就是eth0为被克隆的上一个机器mac信息,新机器启动后,发现eth0和自己不符,那就再生成eth1为自己的信息。

推荐做法:

首先,vi /etc/sysconfig/network-script/ifcfg-eth0 , 删掉UUID HWADDR ,修改ip地址
然后,rm -rf /etc/udev/rules.d/70-persistent-net.rules 重启后会重新自动生成。
或者,更改该文件中,将eth1的物理地址复制给eht0,删掉eth1的配置。
或者,更改该文件中,删掉eth0,再将eht1改为eth0。
然后 reboot

方案一:

简而言之:
vi /etc/sysconfig/network-script/ifcfg-eth0 , 删掉UUID, 修改或删除HWADDR ,修改ip地址
rm -rf /etc/udev/rules.d/70-persistent-net.rules 重启后会重新自动生成。
https://www.cnblogs.com/kerrycode/p/4345692.html
详细:
1 编辑/etc/sysconfig/network-scripts/ifcfg-eth0配置文件,将ifcfg-eth0的配置文件里里面以前的关于MAC地址这一行删除掉或修改。另外克隆的服务器的IP设置的是静态IP,要么修改为一个其它的IP地址或设置为动态IP,重启网卡服务

2 找到/etc/udev/rules.d/70-persistent-net.rules 删除后重启机器,系统会自动生成一个70-persistent-net.rules文件。

因为这个文件绑定了网卡和MAC地址,换了网卡以后MAC地址变了,所以不能正常启动,也可以直接编辑这个配置文件把里面的网卡和MAC地址修改成对应的,不过这样多麻烦,直接删除重启,它会自动生成个一个新的文件。

  • 删除前70-persistent-net.rules的内容

1.png
**

  • 重新生成的70-persistent-net.rules的内容

1.png

重启过后OK,但是我想将测试服务器设置为动态IP,于是在/etc/sysconfig/network-scripts/ifcfg-eth0配置文件里面修改了一番,但是老是获取不到IP地址,将地址改为静态IP地址又没有问题,折腾了好久,最后悲催的发现需要运行dhclient命令才能获取动态IP地址。

方案二:

简而言之:
将 ifcfg-eth0中的
HWADDR 改成rules中的eth1的HWADDR地址。
DEVICE=”eth0” 改成 DEVICE=”eth1” ,
或者直接删掉eth0,再将eht1改为eth0。

https://blog.csdn.net/l1028386804/article/details/80939203
首先,打开/etc/udev/rules.d/70-persistent-net.rules内容如下面例子所示:

# vi /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:8f:89:97", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:50:bd:17", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

记录下,eth1网卡的mac地址00:0c:29:50:bd:17
接下来,打开/etc/sysconfig/network-scripts/ifcfg-eth0

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

将 DEVICE=”eth0” 改成 DEVICE=”eth1” ,
将 HWADDR=”00:0c:29:8f:89:97” 改成上面的mac地址 HWADDR=”00:0c:29:50:bd:17”
最后,重启网络

# service network restart
或者
# /etc/init.d/network restart

方案三:

https://blog.csdn.net/l1028386804/article/details/80939203
简言之,将rules 文件eth1的信息替换到eth0,删除eth1;
添加或更改ifcfg-eth0中的HWADDR为新eth0中的mac地址。

首先,打开/etc/udev/rules.d/70-persistent-net.rules内容如下面例子所示:

# vi /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:8f:89:97", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:50:bd:17", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

这里,我们修改70-persistent-net.rules文件,将eth0的Mac地址修改为eth1的Mac地址,即将00:0c:29:8f:89:97修改为00:0c:29:50:bd:17,同时我们删除如下eth1信息:

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:50:bd:17", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

修改后的70-persistent-net.rules文件如下:

# vi /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:50:bd:17", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

接下来,打开/etc/sysconfig/network-scripts/ifcfg-eth0

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

将 HWADDR=”00:0c:29:8f:89:97” 改成上面的mac地址 HWADDR=”00:0c:29:50:bd:17”
最后,重启网络

# service network restart
或者
# /etc/init.d/network restart


3.修改ip地址和主机名的映射关系

vi /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.101 server1.itcast.cn


4.关闭防火墙iptables并设置其开机启动/不启动

最精简化安装的centos7,service查看防火墙的命令可能不生效。报错:
Redirecting to /bin/systemctl status iptables.service
Unit iptables.service could not be found.

建议使用systemctl

1:查看防火状态

systemctl status firewalld

service  iptables status

2:暂时关闭防火墙

systemctl stop firewalld

service  iptables stop

3:永久关闭防火墙

systemctl disable firewalld

chkconfig iptables off

4:重启防火墙

systemctl enable firewalld

service iptables restart  

5:永久关闭后重启

//暂时还没有试过

chkconfig iptables on