为什么需要静态IP地址
在企业内部网络中,计算机是从本地连接的路由器中获取IP地址的,默认情况下这是一个动态IP地址,即每次从路由器中获取IP是随机变化的。这种规则用于普通客户机访问网络并没有什么影响,但如果是一台服务器(如悦库企业网盘服务端),则需要一个静态的IP地址,以便其他客户机以固定方式连接到服务器,而不是经常修改连接服务器的IP地址。
如何配置静态IP地址
以下例子中,当前的动态IP为:192.168.0.13,我们将配置为静态IP: 192.168.0.180 。本教程在CentOS 7.6.1810上验证通过。
静态IP必须和当前动态IP的网段一致,否则可能导致网络无法连接。如果静态IP已经被分配给网络中的其他主机,会造成IP冲突,网络无法连接,直接将当前动态IP配置为静态IP可以避免这一情况。
1、查看当前动态IP
ifconfig
输出内容
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.11 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::7b46:d16a:426:8c82 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:7a:3d:dd txqueuelen 1000 (Ethernet)
RX packets 12378 bytes 18195589 (17.3 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4276 bytes 292262 (285.4 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 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
其中 ens33 是用物理网线连接的网卡名称,这是一个局域网IP,地址:192.168.0.11 。
- 配置静态IP地址
ls /etc/sysconfig/network-scripts/
输出如下内容,其中ifcfg-ens33就是ens33网卡名称对应的网络配置文件 :
ifcfg-ens33 ifdown-eth ifdown-isdn ifdown-sit ifup ifup-ib ifup-plip ifup-routes ifup-tunnel network-functions-ipv6
ifcfg-lo ifdown-ib ifdown-post
备份现有的配置文件,这样如果配置错误可以恢复。
sudo cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens33.bak
使用vi编辑器打开
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
如果使用xshell方式,请在vi编辑器命令模式下输入(避免复制格式混乱):
:set paste
文件内容如下:
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="ens33"
UUID="74ca9b68-1475-4b02-9750-f48b871504df"
DEVICE="ens33"
ONBOOT="yes"
配置文件修改如下:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static" #dhcp改为static
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="ens33"
UUID="74ca9b68-1475-4b02-9750-f48b871504df"
DEVICE="ens33"
ONBOOT="yes" #开机启用本配置
IPADDR=192.168.0.180 #静态IP
GATEWAY=192.168.0.1 #默认网关
NETMASK=255.255.255.0 #子网掩码
DNS1=192.168.0.1 #DNS地址1
DNS2=223.6.6.6 #DNS地址2
- 重启网络服务使配置生效
sudo service network restart
- 验证结果
ifconfig
输出内容
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.180 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::7b46:d16a:426:8c82 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:7a:3d:dd txqueuelen 1000 (Ethernet)
RX packets 639696 bytes 953993376 (909.7 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 276392 bytes 18591499 (17.7 MiB)
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 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