参考:
3 Ways to change ip address in Linux - howtouselinux |
Ubuntu篇:
一、Desktop版方法
如果你使用了Desktop版本或者server版上面加了desktop桌面,那么你就尽量使用图形界面来配置系统IP信息,这个和在windows系统上修改地址大同小异,在此不一一赘述。
二、Server版方法-Ubuntu16
以下配置静态IP的方法对Ubuntu和CentOS都适用。
1、修改IP地址
1)、先用命令ifconfig查询一下原来网卡的名字,如下:
hzq@ubuntu:~$ ifconfig
ens33 Link encap:以太网 硬件地址 00:0c:29:c3:b2:02
inet 地址:192.168.1.32 广播:192.168.1.255 掩码:255.255.255.0
inet6 地址: 2408:8207:c59:fa00:20c:29ff:fec3:b202/64 Scope:Global
inet6 地址: fe80::20c:29ff:fec3:b202/64 Scope:Link
inet6 地址: 2408:8207:c57:1f90:20c:29ff:fec3:b202/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:4447 错误:0 丢弃:5 过载:0 帧数:0
发送数据包:1154 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:363068 (363.0 KB) 发送字节:101287 (101.2 KB)
lo Link encap:本地环回
inet 地址:127.0.0.1 掩码:255.0.0.0
inet6 地址: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 跃点数:1
上面的ens33就是我们要设置IP的网卡名字,有些机器有好几个网卡,一定要看清楚。
2)、ctrl+alt+t 打开终端,输入命令sudo gedit /etc/network/interfaces打开配置文件。
按照下面所示添加或修改内容:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
#上面的内容是原来就有的,下面是新加的内容。
#下面是要设置的网卡名字。
auto ens33
# static表示设置静态IP,动态IP用dhcp,一般默认就是dhcp状态
iface ens33 inet static
#IP地址
address 192.168.1.32
#子网掩码
netmask 255.255.255.0
#网关
gateway 192.168.1.1
#广播地址,可以不设
broadcast 192.168.1.255
#结束,#号内容是给你们看的,看完就可以删除,没啥用
2、修改DNS
ctrl+alt+t 打开终端,输入命令sudo gedit /etc/resolv.conf打开配置文件。
按照下面所示添加或修改内容:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
#上面的内容是原来就有的,下面是新加的内容。
nameserver 114.114.114.114
nameserver 8.8.8.8
#结束-------------------------------------
如果重启系统或者网络后,ping公网ip地址通,但是域名不通,编辑下面的文件,在其中加上上面的内容。
/etc/resolvconf/resolv.conf.d/base
或
/etc/resolvconf/resolv.conf.d/head
如果还是无法上网,可以将/etc/NetworkManager/目录下的system-connections目录删除或者移走,然后再重启网络或者系统。
3、重启服务的方法
重起网络服务:
输入命令:sudo /etc/init.d/networking restart
或输入命令:sudo service networking restart
个别系统重启服务后地址不变,这一般是缓存的问题,可以通过ip命令刷新一下缓存。
重启DNS服务:
输入命令:sudo /etc/init.d/resolvconf restart
或输入命令:sudo service resolvconf restart
三、Server版方法-Ubuntu18
Ubuntu18修改IP和DNS的方法和Ubuntu16有较大差别,Ubuntu18是通过netplan来管理网络地址的。
1)、ctrl+alt+t 打开终端,进入/etc/netplan/目录,找到yaml文件,如下:
hzq@ubuntu:~$ ls /etc/netplan/
01-network-manager-all.yaml
hzq@ubuntu:~$ cat /etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
hzq@ubuntu:~$
上面是文件原来的内容,
输入命令sudo gedit /etc/netplan/01-network-manager-all.yaml打开配置文件,
按照下面示例添加或修改内容:
network:
version: 2
renderer: networkd
ethernets:
#网卡名称,先用ifconfig查清楚要更改的网卡名字
ens33:
addresses: [192.168.1.36/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8]
启用配置信息。
sudo netplan apply
再用ifconfig查看,网卡地址已经变更过来,个别版本没生效的重启一下系统吧。
有些文章让你执行netplan apply的时候前面没有加sudo,这样一般不会真正生效的,要在前面加sudo或者直接在root下执行。
Ubuntu18更改IP地址、DNS等信息在这一个yaml文件更改即可,也挺方便的,不过由于18版开始变动比较大可能以前的使用者会比较迷茫,当然你也可以改回到以前的方法,不过要重装一些以前的网络管理组件。
四、命令行进行设置
命令直接修改的方式一般是临时方法,重启后会失效。
【当然所谓命令行方法只是一种叫法,在本文只是表示下面这种方法而已。并不是说所有命令行的方法都是临时性的】
1、设置IP地址和子网掩码
sudo ifconfig ens33 192.168.1.31 netmask 255.255.255.0
上面表示将网卡ens33的IP设置为:192.168.1.31,子网掩码改为:255.255.255.0
2、设置网关
sudo route add default gw 192.168.1.1
这里是添加一个默认网关的意思,并不是直接修改原来的网关,所以不要多次执行上述命令!
Centos篇
一、CentOS 修改IP地址
修改对应网卡的IP地址的配置文件 如果只有一张网卡就是eth0,类推
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改以下内容
DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0
BOOTPROTO=static #设置网卡获得ip地址的方式,可能的选项为static,dhcp或bootp,分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址,通过bootp协议获得的ip地址
BROADCAST=192.168.0.255 #对应的子网广播地址
HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址
IPADDR=12.168.1.2 #如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址
IPV6INIT=no
IPV6_AUTOCONF=no
NETMASK=255.255.255.0 #网卡对应的网络掩码
NETWORK=192.168.1.0 #网卡对应的网络地址
ONBOOT=yes #系统启动时是否设置此网络接口,设置为yes时,系统启动时激活此设备
二、CentOS 修改网关
修改对应网卡的网关的配置文件
[root@centos]# vi /etc/sysconfig/network
修改以下内容
NETWORKING=yes(表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务程序将无法启动)
HOSTNAME=centos(设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应)
GATEWAY=192.168.1.1(设置本机连接的网关的IP地址。例如,网关为10.0.0.2)
三、CentOS 修改DNS
修改对应网卡的DNS的配置文件
# vi /etc/resolv.conf
修改以下内容
nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器
四、重新启动网络配置
# service network restart
或
# /etc/init.d/network restart