欢迎光临
我们一直在努力

VPS主机和独立服务器网络配置方法-Linux手动设置IPv4和IPv6地址

独立服务器安装了操作系统后,如果是CentOS的话默认的还需要自己手动配置好网络,一般地Linux配置网络可以用的命令有ifconfig、route、ip、ip route等,涉及到了IP地址设定以及DNS域名解析服务器设定。
另外,现在IPv6也开始逐渐普及下来了,很多的主机商也提供了IPv6地址服务,我们也可以为独立服务器配置好IPv6地址。本篇文章就来分享一下如何在服务器上自定义网络配置,主要是记录一下ifconfig、route、ip几个命令的用法。
在使用Linux服务器如果主机商提供了IPMI的话还是挺方便的,独立服务器有时会忘记root密码,或者是服务器断电引起磁盘错误,导致root密码无法使用,这时候我们可以利用Rescue install system 救援安装系统来修改Root密码。
如果你觉得使用命令麻烦的话,你也可以在独立服务器安装操作系统时直接设置好网络,图形界面操作起来和Windows差不多。另外,Linux还可以输入setup命令,可以启动图形界面menuconfing,选择network configuration ,进入网络配置界面,比较适合新手朋友。

更多的Linux实用命令这里有:

  1. Linux系统监控命令整理汇总-掌握CPU,内存,磁盘IO等找出性能瓶颈
  2. Linux Crontab命令定时任务基本语法与操作教程-VPS/服务器自动化
  3. Linux的php-fpm优化心得-php-fpm进程占用内存大和不释放内存问题

一、CentOS救援模式修改密码
按照IPMI安装操作系统图文教程的方法,将CentOS ISO挂载到光驱上,然后重新启用机器 ,上下键移动到Rescue install system 救援安装系统。

点击下一步,然后会提示你系统挂载在/mnt/sysimage下,如果要到root环境下,需要执行: chroot /mnt/sysimage 。

确定使用Shell模式。

执行命令:chroot /mnt/sysimage执行原系统文件,这时可以使用passwd更改密码,或者vi打开passwd文件对密码标志位进行修改,之后exit退出原系统,再reboot重启。

二、Linux的网络配置文件ifcfg
Linux的网络配置的路径: /etc/sysconfig/network-scripts/,配置完成以后需要重启网络:service network restart ,然后查看ip:使用 ifconfig 或者 ip addr 。
ifcfg文件的一些属性说明

  • TYPE=”Ethernet” # 配置文件接口类型:有Ethernet 、IPsec等类型,网络接口类型为Ethernet
  • BOOTPROTO=”static” # 系统启动地址协议:
  • #none:不使用启动地址协议
  • #bootp:BOOTP协议
  • #dhcp:DHCP动态地址协议
  • #static:静态地址协议
  • IPADDR=192.168.1.200 #静态IP 设为 192.168.1.200
  • NETMASK=255.255.255.0 #子网掩码
  • NETWORK=192.168.1.0 #网络段
  • BROADCAST=192.168.1.255 #广播地址
  • #GATEWAY:网关地址
  • #HWADDR/MACADDR:MAC地址。只需设置其中一个,同时设置时不能相互冲突。
  • #NM_CONTROLLED:是否由Network Manager控制该网络接口。修改保存后立即生效,无需重启。建议一般设为no。
  • #yes:由Network Manager控制
  • #no:不由Network Manager控制
  • DEFROUTE=”yes” #是否把这个eth设置为默认路由呢
  • PEERDNS=”yes” #是否指定DNS。如果使用DHCP协议,默认为yes。
  • PEERROUTES=”yes”
  • IPV4_FAILURE_FATAL=”no”
  • IPV6INIT=”yes” # 是否执行IPv6
  • IPV6_AUTOCONF=”yes”
  • IPV6_DEFROUTE=”yes”
  • IPV6_PEERDNS=”yes”
  • IPV6_PEERROUTES=”yes”
  • IPV6_FAILURE_FATAL=”no”
  • NAME=”eno16777736″ #这个网络的名字
  • UUID=”6c336bc6-c471-4e9b-aeb8-b1f380fbe22f”
  • DEVICE=”eno16777736″ #网络接口名称
  • ONBOOT=”yes” #是否开机启动

三、ifconfig 命令(查看或配置ip)
1、查看网络连接

  • ifconfig \\ 显示所有活动连接,不包令禁用的设备

  • ifconfig -a \\ 显示所有活动及非活动的连接

显示指定接口的连接

  • ifconfig eth1

2、配置ip地址

  • ifconfig eth1 192.168.0.1 netmask 255.255.255.

  • ifconfig eth1 192.168.0.1/24

3、启用或禁用接口

  • ifconfig eth1 down|up
  • ifdown eth1 \\ 禁用接口
  • ifup eht1 \\启用接口

四、route命令(查看或配置路由)
1、查看路由,使用-n可以以数字格式查看显示路由避免反解主机名,造成查询过慢。

  • route -n
  • Destination Gateway Genmask Flags Metric Ref Use Iface
  • 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
  • #目标 下一跳地址 掩码 标志位 跳跃点 ref 使用的哪个接口

2、添加路由
(a)、网络路由

  • route add -net 192.168.1.0/24 gw 172.16.1.106

(b)、主机路由

  • route add -host 192.168.1.110 gw 172.16.1.106

(c)、默认路由

  • # route add default gw 172.16.1.106
  • # route add -net 0.0.0.0 gw 172.16.1.106

查看这三条新创建的

  • Destination Gateway Genmask Flags Metric Ref Use Iface
  • 192.168.1.110 172.16.1.106 255.255.255.255 UGH 0 0 0 eth0
  • 192.168.1.0 172.16.1.106 255.255.255.0 UG 0 0 0 eth0
  • 0.0.0.0 172.16.1.106 0.0.0.0 UG 0 0 0 eth0

3、删除路由

  • route del -host 192.168.1.110
  • route del -net 192.168.1.0/24

五、DNS配置
只能通过配置文件:/etc/resolv.conf 来修改内容如下:

  • ; generated by /sbin/dhclient-script
  • search localdomain wzfou.com \\ 搜索域
  • nameserver 8.8.8.8 \\ DNS域名服务器
  • #一行一个DNS,最多配置三个DNS

**********************************************************************************
随着系统的发展以上两种命令,会慢慢的被如下两个命令替换.

ifconfig = ip
route = ip route

六、ip命令操作说明
linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者。使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务。
ip [ OPTIONS ] OBJECT { COMMAND | help }

  • [OPTIONS]:
  • -s 显示出设备的统计数
  • OBJECT : { link | addr | route }(OBJECT对象

(1)关于接口设备(device)的相关设置ip link

  • ip [-s] link show <== 单纯的查看该设备的相关信息
  • ip link set [device] [动作与参数]
  • up|down:激活或禁用指定接口
  • ifup/ifdown
  • show [dev IFACE]:指定接口
  • [up]:仅显示处于激活状态的接口
  • name:给与这个设备一个特殊的名字
  • mtu:最大传输单元

例如:

  • ip link show
  • ip -s link show eth0
  • ip link set eth0 up
  • ip link set eth0 mtu 1000
  • ip link set eth0 down
  • ip link set eth0 name vbird(先关闭设备,再设置设备名)
  • ip link set eth0 address aa:aa:aa:aa:aa:aa
  • (如果是测试,测试完请改回来)

(2)ip addr { add | del } [IP参数] dev[相关参数]

  • show:仅显示接口的IP信息
  • label:添加地址时指明网卡别名
  • [scope {global|link|host}]:指明作用域
  • global: 全局可用(默认)
  • link: 仅链接可用
  • host: 本机可用
  • site:仅支持IPV6,仅允许本机的连接
  • [broadcast ADDRESS]:指明广播地址,如果设置值是+ 表示“让系统自动计算”

例如:

  • ip address add 192.168.50.50/24 broadcast + dev eth0 label eth0:0

(3)ip address flush – 使用格式同show

  • ip addr add 172.16.100.100/16 dev eth0 label eth0:0
  • ip addr del 172.16.100.100/16 dev eth0 label eth0:0
  • ip addr flush dev eth0 label eth0:0

(4)添加删除路由:ip route [add|del] [IP或网络号] [via gateway][dev 设备]

  • add|del添加(add)或删除(del)路由
  • via 从哪个gateway出去,不一定需要
  • dev 哪个设备连出去,需要
  • ip route add 192.168.5.0/24 dev eth0(添加本机可直接沟通的网络)
  • ip route add 192.168.10.0/24 via 192.168.5.100 dev eth0(增加通往外部的路由)
  • ip route add default via 192.168.1.254 dev eth0(添加默认路由)
  • ip route add 192.168.0.0/24 via 172.16.0.1
  • ip route add 192.168.1.13 via 172.16.0.1

(5)添加网关:ip route add default via GW dev IFACE

  • ip route add default via 172.16.0.1

(6)显示路由:ip route show|list
(7)清空路由表:ip route flush [dev IFACE] [via PREFIX]

  • ip route flush dev eth0
  • ip addr add 172.16.1.2/16 dev eth0
  • ip addr add 172.16.1.1/16 dev eth0 label eth0:0
  • ip addr add 172.16.1.2/16 dev eth0 label eth0:0
  • ip addr del 172.16.1.1/16 dev eth0 label eth0:0
  • ip addr flush dev eth0 label eth0:0

七、如何Ping测试IPv6网络?
7.1 Windows
以下Windows版本的ping命令支持ping IPv6地址:

Windows XP with SP1 及以上
Windows Vista 及以上
Windows Server 2003 及以上

1. ping ipv6主机名

  • ping -6 ipv6.google.com
  • /!\注意:当ping ipv6主机名时,必须加上参数-6;直接ping IPv6地址时可以省略。

2. ping ipv6地址

  • ping IPv6Address[%ZoneID]
  • 例如:
  • ping 2001:4860:0:2001::68

如果要ping link-local地址,则需要指定网络接口索引,如:

  • ping fe80::260:97ff:fe02:6ea5%4

其中%4表示“用索引为4的网络接口”ping目标计算机。
7.2 Linux
在Linux发行版中,使用ping6命令ping IPv6主机或者地址。
1. ping ipv6主机名

  • ping6 ipv6.google.com

2. ping ipv6地址

  • ping6 IPv6Address[%InterfaceName]

如果要ping link-local地址,则需要指定网络接口名称,如:

  • ping fe80::260:97ff:fe02:6ea5%eth0
  • #其中%eth0表示“用网络接口eth0 ping目标计算机”。

八、如何在服务器启用IPv6并配置IPv6地址?
8.1 UBUNTU 18.04
PS:2019年1月12日更新,根据好友Skylake的反馈,cloud-init只会进行一次初始化,随后添加的并不会生效,独立服务器上cloud-init因为缺少数据源,不会进行初始化。部分云平台的初始化并不是cloud-init方案。大家在使用时注意。
如果是 Ubuntu 18.04, 直接编辑 50-cloud-init.yaml:

  • sudo nano /etc/netplan/50-cloud-init.yaml

如下所示,添加你的独立器IPv6地址:(原来的不要动):

  • network:
  • version: 2
  • ethernets:
  • eth0:
  • addresses:
  • – 203.0.113.213/20
  • – primary_ipv6_address/64
  • – 192.0.2.11/16
  • gateway4: 206.189.208.1
  • gateway6: ipv6_gateway
  • match:
  • macaddress: ce:2c:fb:85:b3:86

下一步到 nameservers 添加IPv6的DNS服务器:

  • nameservers:
  • addresses:
  • – 67.207.67.2
  • – 67.207.67.3
  • – 2001:4860:4860::8844
  • – 2001:4860:4860::8888
  • search: []
  • set-name: eth0

如果你用的是Digitalocean VPS主机,用上了Ubuntu 18.04 LTS,可以参考以下示例:

  • #修改/etc/netplan/50-cloud-init.yaml文件
  • # This file is generated from information provided by
  • # the datasource. Changes to it will not persist across an instance.
  • # To disable cloud-init’s network configuration capabilities, write a file
  • # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
  • # network: {config: disabled}
  • network:
  • version: 2
  • ethernets:
  • eth0:
  • addresses:
  • – 公共ipv4地址/20
  • – 私有ipv4地址/16
  • – 公共ipv6地址/64
  • gateway4: 公共ipv4网关
  • gateway6: 公共ipv6网关
  • match:
  • macaddress: MAC地址
  • nameservers:
  • addresses:
  • – 67.207.67.2
  • – 67.207.67.3
  • set-name: eth0
  • #最后执行命令,应用此文件:
  • netplan apply

8.2 DEBIAN 和 UBUNTU 16.04 或更早
在 Debian 和 Ubuntu 16.04 以及之前的版本, 编辑 network interface 文件:

  • sudo nano /etc/network/interfaces

然后如下演示添加IPv6地址:

  • iface eth0 inet6 static
  • address primary_ipv6_address
  • netmask 64
  • gateway ipv6_gateway
  • autoconf 0
  • dns-nameservers 2001:4860:4860::8844 2001:4860:4860::8888 209.244.0.3

重启网络:

  • sudo systemctl restart networking

8.3 CENTOS 或者 FEDORA
在 CentOS 或者 Fedora, 编辑 ifcfg-eth0 :

  • sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

如下添加好IPv6地址:

  • IPV6INIT=yes
  • IPV6ADDR=primary_ipv6_address/64
  • IPV6_DEFAULTGW=ipv6_gateway
  • IPV6_AUTOCONF=no
  • DNS1=2001:4860:4860::8844
  • DNS2=2001:4860:4860::8888
  • DNS3=209.244.0.3

最后,重启网络.

  • sudo systemctl restart networking

九、总结
独立服务器配置服务器在手动配置IP时需要注意不要填写错误,由于在配置前需要做好备份工作,以免配置错误导致网络中断。当然,独立服务器提供了IPMI或者VNC图形管理面板就可放心地折腾。
如果你有用独立服务器安装SolusVM时,在配置服务器的IP时注意做KVM Bridge的设置,当所有的配置都做好记得检查一遍IP是否可以Ping通过,以及IP转发设置是否有没有问题。

赞(0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《VPS主机和独立服务器网络配置方法-Linux手动设置IPv4和IPv6地址》
文章链接:https://www.adaigou.net/shiyong/9040.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

'); })();