centos 7 配置静态 ip
在 centos7 中, 静态 ip 由文件/etc/sysconfig/network-scripts/ifcfg-ens32
指定, 默认情况下, 内容如下:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=7a9afb0e-d866-4be1-9509-25d40df28e3c
DEVICE=ens32
ONBOOT=no
其中涉及到网址, 子网掩码, 网关几个配置, 故此, 我们可以先将 ONBOOT=no
改为 ONBOOT=yes
, 重启以获得网络.
然后查看分配给我们的网址, ip a
, 输出:
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: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:11:38:54 brd ff:ff:ff:ff:ff:ff
inet 192.168.35.130/24 brd 192.168.35.255 scope global noprefixroute ens32
valid_lft forever preferred_lft forever
inet6 fe80::5838:2d2d:2d86:176/64 scope link noprefixroute
valid_lft forever preferred_lft forever
其中可以看到 192.168.35.130/24
, 它表示在我的虚拟机中, 分配的ip地址是 192.168.35.130, 其中子网掩码的长度是 24.
然后, 用 ip route
查看路由, 也就是网关, 输出:
default via 192.168.35.2 dev ens32 proto static metric 100
192.168.35.0/24 dev ens32 proto kernel scope link src 192.168.35.130 metric 100
可以看到, 默认情况下, 网关是 192.168.35.2. 为什么一定要看这个? 因为大多数时候用的是 192.168.1.1 这个网关.它跟虚拟网卡有关.
好, 接下来我们就可以修改配置了, 我其实是不想让虚拟机有时候修改我的ip , 所以, 我依然使用默认的 ip 地址, 只是修改为静态 ip, 如下:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
# BOOTPROTO=dhcp
BOOTPROTO=static # 静态配置
IPADDR=192.168.35.130 # ip 地址
PREFIX=24 # 子网掩码, 等价于 255.255.255.0
GATEWAY=192.168.35.2 # 网关
DNS1=8.8.8.8 # dns
DNS2=8.8.4.4 # dns 2
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens32
UUID=7a9afb0e-d866-4be1-9509-25d40df28e3c
DEVICE=ens32
ONBOOT=yes
主要改动这几个:
# BOOTPROTO=dhcp
BOOTPROTO=static
IPADDR=192.168.35.130
PREFIX=24
GATEWAY=192.168.35.2
DNS1=8.8.8.8
DNS2=8.8.4.4
ONBOOT=yes
最后, 重启网络服务,
systemctl restart network
检测网络是否 ok,
ping baidu.com
理论上, 应该输出:
PING baidu.com (110.242.68.66) 56(84) bytes of data.
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=1 ttl=128 time=33.8 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=2 ttl=128 time=33.5 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=3 ttl=128 time=34.0 ms
信息, 代表网络 ok.