Linux 设置静态IP

第一步:激活网卡

通过ip add或者ifconfig 查看网卡名称。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 通过ip addr 查看
[root@hadoop-centos-01 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:ff:56:49 brd ff:ff:ff:ff:ff:ff
inet 192.168.244.11/24 brd 192.168.244.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:feff:5649/64 scope link
valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:72:bb:ed brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:72:bb:ed brd ff:ff:ff:ff:ff:ff

# 通过 ifconfig 查看
[root@hadoop-centos-01 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.244.11 netmask 255.255.255.0 broadcast 192.168.244.255
inet6 fe80::20c:29ff:feff:5649 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:ff:56:49 txqueuelen 1000 (Ethernet)
RX packets 9568 bytes 614967 (600.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1112 bytes 140379 (137.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 72 bytes 8088 (7.8 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 72 bytes 8088 (7.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:72:bb:ed txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Linux中的网卡名以eth开头,vmware虚拟机中一般为ens,从0开始依次编号。
网卡激活命令 ifconfig eth0up

1
[root@hadoop-centos-01 ~]# ifconfig ens33 up # ens33 为当前的虚拟网卡

第二步:设置网卡进入系统时启动

想要每次开机就可以自动获取IP地址上网,就要设置网络服务在系统启动时也启动。
Linux有一点与windows不同的是很多服务默认是停止的,而且你在某次使用该服务时启动这个服务,但是没设置它为默认启动,则下次进入系统这个服务依然是停止的。
下面是设置网络服务在系统启动时也启动的方法。

使用chkconfig命令让网络服务在系统启动级别是2345时默认启动。

1
[root@hadoop-centos-01 ~]# chkconfig --level 2345 network on

第三步:修改网卡文件ifcfg-eth*

网络配置文件位于 /etc/sysconfig/network-scripts 目录下,文件为 ifcfg-ens**为文件其它字符,因为不同的虚拟机该文件名字可能不同。

ifcfg-eth33文件配置解析:
    TYPE=Ethernet       # 配置文件接口类型,有Ethernet、IPsec等类型,网络接口类型为Ethernet
    DEVICE=eth33        # 网络接口名称
    BOOTPROTO=none      # 系统启动地址协议,none不使用启动地址协议 
    ONBOOT=yes          # 系统启动时是否激活
    IPADDR=192.168.16.12  
    NETMASK=255.255.255.0  
    GATEWAY=192.168.16.1  
    BROADCAST=192.168.16.255
    HWADDR=00:0C:29:13:5D:74  
    PEERDNS=yes  
    DNS1=10.0.1.41  
    USERCTL=no  
    NM_CONTROLLED=no  
    IPV6INIT=yes  
    IPV6ADDR=FD55:fe80::28c2:e745:835f:c8d0/64

    附. 配置参数说明 
    注:这些参数值不区分大小写,不区分单引号和双引号,甚至可以不用引号。 
    TYPE:配置文件接口类型。在/etc/sysconfig/network-scripts/目录有多种网络配置文件,有Ethernet、IPsec等类型,网络接口类型为Ethernet。
    DEVICE:网络接口名称
    BOOTPROTO:系统启动地址协议 
        none:不使用启动地址协议 
        bootp:BOOTP协议 
        dhcp:DHCP动态地址协议 
        static:静态地址协议
    ONBOOT:系统启动时是否激活 
        yes:系统启动时激活该网络接口 
        no:系统启动时不激活该网络接口
    IPADDR:IP地址
    NETMASK:子网掩码
    GATEWAY:网关地址
    BROADCAST:广播地址
    HWADDR/MACADDR:MAC地址。只需设置其中一个,同时设置时不能相互冲突。 
    PEERDNS:是否指定DNS。如果使用DHCP协议,默认为yes。 
        yes:如果DNS设置,修改/etc/resolv.conf中的DNS 
        no:不修改/etc/resolv.conf中的DNS
    DNS{1, 2}:DNS地址。当PEERDNS为yes时会被写入/etc/resolv.conf中。
    NM_CONTROLLED:是否由Network 
    Manager控制该网络接口。修改保存后立即生效,无需重启。被其坑过几次,建议一般设为no。
        yes:由NetworkManager控制
        no:不由NetworkManager控制
    USERCTL:用户权限控制 
        yes:非root用户允许控制该网络接口 
        no:非root用户不运行控制该网络接口
    IPV6INIT:是否执行IPv6 
        yes:支持IPv6 
        no:不支持IPv6
    IPV6ADDR:IPv6地址/前缀长度

第四步:配置生效

为了使网络配置永久有效,第二部中修改了/etc/sysconfig/network-scripts/下的网络接口配置文件。但是,这些文件修改后,并不能立即生效。可通过以下两种方式使修改文件的网络配置生效:

1) 重启网络服务(推荐)

service network restart

2) 重启计算机

reboot

Reference

https://www.cnblogs.com/aventador/p/3375434.html

-------------本文结束感谢您的阅读-------------