Linux网络基础配置与网络进阶管理推荐

文章防盗链地址:http://jackcui.blog.51cto.com/一、 网络基本配置:

真不敢想象没有网络的一天应该怎样度过,但是有了网络就行了?原来刚有了网络时由于没有统一的标准,各大硬件厂商各自为政,都在搞网络,但是都只是同一厂商的设备可以进行通讯,就和不同的国家的人交流使用了不同的语言一样,难以将所有的网络连接起来,之后Internet有了统一的标准,大家都遵循它的标准,后来计算机才能进行网络通讯,同样将linux主机接入网络也必须进行配置它的网络,及其相关的主机名等,下面将逐一进行配置:

1. 主机名:

rhel6中主机名修改

[root@cnode6_8~]#cat/etc/sysconfig/network//配置文件存放地方,只需按照格式修改配置文件即可,修改后可以永久修改NETWORKING=yesHOSTNAME=cnode6_8.desktop[root@cnode6_8~]#hostnamejack.desktop//当然也可以临时修改主机名rhel7主机名修改:可以通过nmtui命令图形化设置主机名和网络设置[root@centos7~]#hostnamectlset-hostnamecnode1.localdomain//使用命令修改主机名,该命令修改主机名永久生效!当然也可以直接修改配置文件。[root@centos7~]#cat/etc/hostname//查看确实已经生效cnode1.localdomain

2. ip/mask,路由,默认网关等使用过命令进行设置:

[root@cnode6_8~]#ifconfigeth2192.168.66.130netmask255.255.255.0broadcast192.168.66.255[root@cnode6_8~]#ifconfig|grepeth2-A1eth2Linkencap:EthernetHWaddr00:0C:29:C8:95:18inetaddr:192.168.66.130Bcast:192.168.66.255Mask:255.255.255.0

注:在rhel6和rhel7中都可使用上面的命令进行修改,rhel6和rhel7中都可以使用network、NetworkManager两个服务进行对网络管理,但是在rhel6当中建议使用network服务rhel6中NetworkManager服务可能不太稳定,许多环境下会关闭该服务,比如在双网卡绑定,网卡别名等情况下。在rhel7当中推荐使用后者。原因是如果两个服务同时存在有可能修改配置文件不起作用,建议使用一个服务,另一个停掉,这样不会引起冲突。

3. DNS服务设置:

(可以配置多个DNS服务器。主次第三DNS服务器)两个版本的系统均在配置文件中配置即可,当然也可以使用命令如nmcli等。DNS对应的配置文件是 /etc/resolv.conf ,如果在网卡的配置文件当中PEERDNS配置的选项如果为yes,并且IP地址是自动获取,则按网卡的配置文件自动生成该文件,DNS解析时会首先查找/etc/hosts文件,如果该文件没有响应的记录,则会查找/etc/resolv.conf文件,当然可以修改配置文件/etc/nsswitch.conf 找到#hosts开头的下一行将hosts后面的两个参数调换顺序即可改变两者的优先级。

4. 网络配置文件:

在/etc/sysconfig/network-scripts 目录下,存放网络启动相关的配置信息,静态指定的方式除了上面的临时指定,还有通过文本图形化设置,也非常方便:

[root@cnode6_8network-scripts]#system-config-network//文本图形化配置命令

网卡配置文件文件如下:

[root@cnode6_8network-scripts]#catifcfg-eth0DEVICE=eth0//物理网卡名,必须指定TYPE=Ethernet//类型以太网ONBOOT=yes//默认开机启动NM_CONTROLLED=yes//是否受到NetworkManager管辖,在rhel6中建议noBOOTPROTO=none//地址分配方式,dhcp,none,staticIPADDR=10.1.255.166//ipv4地址NETMASK=255.255.0.0//子网掩码,使用PREFIX关键字指定也可以USERCTL=no//普通用户是否能控制IPV6INIT=noPREFIX=16//网络前缀,可以使用NETMASK替代GATEWAY=10.1.255.166//网关DNS1=10.1.0.1//DNS可以指定多个,不同的用数字区分如DNS1DEFROUTE=yesPEERDNS=yes//如果地址分配方式为dhcp,是否允许将分配的dns服务器信息直接写入/etc/resolv.conf,本地解析文件在:/etc/hosts配置文件当中IPV4_FAILURE_FATAL=yesNAME="Systemeth0"UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03HWADDR=00:0C:29:C8:95:0EMACADDR=66:66:66:66:66:66//可以手动指定mac,在交换机看来就是MACADDR,通过wireshark抓包看到mac确实显示的是自己设定的

二、网卡别名(rhel6中):

可以将多个IP绑定到一个网卡上面网卡名字的DEVICE后面加冒号和相应的数字,可以自己定义,如eth0:1,在配置是注意在真实的物理网卡配置上可以配置dhcp,别名上面只能使用静态IP给主机添加IP,其他配置和一般的网卡配置一样,网卡别名可以用在如为多个vlan提供服务,因为多个vlan是属于不同的网络中,所以一台服务器可以为一块网卡配置多个ip,使它分属于不同的vlan。rhel7中可以在配置文件中使用索引的方式添加多个IP,也可以使用nmcli命令进行直接添加无需添加别名设置

[root@cnode6_8network-scripts]#cpifcfg-eth0ifcfg-eth0:1[root@cnode6_8network-scripts]#vimifcfg-eth0:1[root@cnode6_8network-scripts]#head-n1ifcfg-eth0:1DEVICE=eth0:1[root@cnode6_8network-scripts]#ifconfigeth0:2192.168.1.66/24up[root@cnode6_8network-scripts]#ipa|grep192inet192.168.1.66/24brd192.168.1.255scopeglobaleth0:2

三、 ip命令使用:

ip可以临时性管理ip地址,包括添加删除,添加别名:

ipaddradd172.16.1.2/16deveth0ipaddradd172.16.1.1/16deveth0labeleth0:0ipaddrdel172.16.1.1/16deveth0labeleth0:0ipaddrflushdeveth0labeleth0:0

示例:

[root@cnode6_8network-scripts]#ipaddradd5.5.5.5/16deveth0[root@cnode6_8network-scripts]#ipa|grep5.5.5inet5.5.5.5/16scopeglobaleth0[root@cnode6_8network-scripts]#ipaadd9.9.9.9/8deveth0labeleth0:0[root@cnode6_8network-scripts]#ipa|grep9.9inet9.9.9.9/8scopeglobaleth0:0[root@cnode6_8network-scripts]#ipaflushdeveth0labeleth0:0[root@cnode6_8network-scripts]#ipa|grep9.9[root@cnode6_8network-scripts]#[root@centos7~]#ipaa10.1.255.156/32brd10.1.255.155deveno33554984:0[root@centos7~]#ipashoweno335549844:eno33554984: BROADCAST,MULTICAST,UP,LOWER_UP mtu1500qdiscpfifo_faststateUPqlen1000link/ether00:0c:29:db:2d:c5brdff:ff:ff:ff:ff:ffinet10.1.255.177/16brd10.1.255.155scopeglobaleno33554984valid_lftforeverpreferred_lftforeverinet10.1.255.155/32brd10.1.255.155scopeglobaleno33554984valid_lftforeverpreferred_lftforeverinet10.1.255.156/32brd10.1.255.155scopeglobaleno33554984valid_lftforeverpreferred_lftforeverinet6fe80::20c:29ff:fedb:2dc5/64scopelinkvalid_lftforeverpreferred_lftforever

四、 nmcli命令的使用

nmcli是一个控制和管理NetworkManager服务的命令行工具,nmcli可以实现报告网络状态,修改,删除编辑创建等操作,在NetworkManager管理思想中,网络设备是关联一个链接名的,通过链接的配置信息绑定至网卡等设备上,使得设备生效下面是它的使用方法和具体案例:

nmcli dev status :列出所有设备

nmcli dev dis DEV 关闭硬件接口

nmcli con show :列出所有连接

nmcli con up ID :激活ID连接

nmcli con down ID 取消激活

nmcli dev dis DEV 中断物理接口,并且暂时禁用自动连接

nmcli net off :禁用所有管理的接口

nmcli con add … :添加新连接

nmcli con mod ID 修改连接

nmcli con del ID 删除连接

nmcli con reload 重新加载配置

nm-connection-editor 图形化管理工具

nmtui 文本字符的图形化管理工具

注:此处的ID即为nmcli创建的链接名

示例:

Wiredconnection24d90f23b-614e-476c-9e9d-5e2e24ab04e2802-3-ethernet--team03862c422-c585-47af-8c76-10c22fd90d2cteamteam0virbr021a2bcd5-ff7f-4966-b21d-5eeef7cb3ac4bridgevirbr0eno167777369cff9661-c26d-430e-bc78-59ae0a6d2e2d802-3-etherneteno16777736eno16777736b508c047-1437-4063-ba18-153985c4733b802-3-ethernet--Wiredconnection138a1b9c7-d6d0-40d4-b47e-52ad2a5e1426802-3-ethernet--

为物理接口添加一个类型为Ethernet,链接名为classlink,自动连接,具有如下ip和网关的连接

[root@c7node2network-scripts]#nmcliconaddtypeethernetcon-nameclasslink\ifnameeno50332208autoconnectyesip410.1.255.7/16gw410.1.0.1[root@c7node2network-scripts]#llifcfg-classlink\\已经生成文件-rw-r--r--.1rootroot304Sep618:02ifcfg-classlink[root@c7node1network-scripts]#systemctlrestartNetworkManager\\重启网络服务[root@c7node1network-scripts]#ipa|grep-e"10.1.255.7"-e"eno5"\\配置生效4:eno50332208: BROADCAST,MULTICAST,UP,LOWER_UP mtu1500qdiscpfifo_faststateUPqlen1000inet10.1.255.7/16brd10.1.255.255scopeglobaleno50332208[root@c7node1network-scripts]#nmcliconmodclasslink+ipv4.addresses\10.1.255.77/16\\修改IP地址,可以使用[+|-|],表示新增或减少一个IP地址,没有符号就直接覆盖原来的配置文件中的IP地址[root@c7node1network-scripts]#nmcliconnectionshowclasslink|grepIP4.ADDIP4.ADDRESS[1]:10.1.255.7/16IP4.ADDRESS[2]:10.1.255.77/16
[root@c7node1network-scripts]#nmcliconmodifyclasslink-ipv4.add"10.1.255.77/16"[root@c7node1network-scripts]#nmcliconnectionshowclasslink|grepIP4.ADDIP4.ADDRESS[1]:10.1.255.7/16[root@c7node1~]#nmclicondownclasslink\\关闭物理接口Connection'classlink'successfullydeactivated(D-Busactivepath:/org/freedesktop/NetworkManager/ActiveConnection/10)[root@c7node1~]#nmcliconshow|grepclass\\查看状态,最后一栏没有物理口classlink36e5c10e-83e0-4f79-9d37-2c6f4d8a79cb802-3-ethernet--[root@c7node1~]#nmcliconupclasslink\\开启物理接口Connectionsuccessfullyactivated(D-Busactivepath:/org/freedesktop/NetworkManager/ActiveConnection/11)[root@c7node1~]#nmcliconshow|grepclass\\查看到链接对应有物理口classlink36e5c10e-83e0-4f79-9d37-2c6f4d8a79cb802-3-etherneteno50332208

附:nmcli命令生成的配置文件中选项与配置文件对应项:

五、 几种常见的网卡绑定工作模式:

网卡绑定可以提高网络的冗余,保证网络可靠性,提高网络速度。拥有等许多单网卡没有的优势,在rhel6中该技术名字叫网卡绑定,到了rhel7当中,有了网络工作组的概念实质上原理相同。

1. mode 0 (round-robin)从头到尾的在每一个slave网卡上顺序发送数据包,该模式可以提供负载均衡和容错

2. mode1(active-backup)主备模式,在同一时间只有一个处于活动,为了防止交换机发生混乱此时绑定的mac地址只有一个外部端口可见

3. mode3(broadcast)广播策略在所有的slave接口上传送相同的报文,本模式提供容错能力

六、网卡绑定bonding(以bond0为例)与网络工作组配置:1. bonding配置步骤:

创建bonding设备的配置文件,然后添加需要绑定的物理设备

卸载bond时,删除相关配置文件,卸载bonding模块,首先使用lsmod找到bonding模块,然后使用rmmod 查到的模块名称(许多人更喜欢使用modprobe -r 模块名)来代替使用rmmod )

[root@cnode6_8network-scripts]#catifcfg-bond0DEVICE=bond0//必须配置的设备名BOOTPROTO=noneBONDING_OPTS="miimon=100mode=0"IPADDR=10.1.255.252PREFIX=16GATEWAY=10.1.0.1DNS1=8.8.8.8DNS2=114.114.114.114MACADDR=88:88:88:88:88:88//这个可以不写只是测试方便看到而已ONBOOT=yes[root@cnode6_8network-scripts]#catifcfg-eth1//另一块slave设备与此除了DEVICE不同其他相同DEVICE=eth3BOOTPROTO=noneMASTER=bond0//隶属与bond0SLAVE=yes//隶属关系USERCTL=no[root@cnode6_8~]#cat/proc/net/bonding/bond0//查看bond设备状态EthernetChannelBondingDriver:v3.7.1(April27,2011)BondingMode:loadbalancing(round-robin)MIIStatus:upMIIPollingInterval(ms):200UpDelay(ms):0DownDelay(ms):0SlaveInterface:eth3MIIStatus:upSpeed:1000MbpsDuplex:fullLinkFailureCount:0PermanentHWaddr:00:0c:29:c8:95:0eSlavequeueID:0SlaveInterface:eth4MIIStatus:upSpeed:1000MbpsDuplex:fullLinkFailureCount:0PermanentHWaddr:00:0c:29:c8:95:2cSlavequeueID:0[root@cnode6_8network-scripts]#ipa|grepbond0-A3//查看bond网卡配置信息3:eth3: BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP mtu1500qdiscpfifo_fastmasterbond0stateUPqlen1000link/ether88:88:88:88:88:88brdff:ff:ff:ff:ff:ff4:eth4: BROADCAST,MULTICAST mtu1500qdiscpfifo_faststateDOWNqlen1000link/ether00:0c:29:c8:95:22brdff:ff:ff:ff:ff:ff5:bond0: BROADCAST,MULTICAST,MASTER,UP,LOWER_UP mtu1500qdiscnoqueuestateUPlink/ether88:88:88:88:88:88brdff:ff:ff:ff:ff:ffinet10.1.255.252/16brd10.1.255.255scopeglobalbond0inet6fe80::8a88:88ff:fe88:8888/64scopelinkvalid_lftforeverpreferred_lftforever

最后用wireshare可以抓到ping包的icmp包:

2. rhel7中网络工作组(Networking Teaming)配置:

网络工作组和旧版的bonding技术相比提供更好的性能和扩展性,由守护进程teamd和内核驱动实现:多种工作方式(runner):broadcast、roundrobin、activebackup、

loadbalance、lacp。其中除了activebackup这种方式外,其它都需要交换机支持,如交换机的端口聚合等技术否则无法实现响应的功能。需要注意的是:在启动网络组时不会启动网络组的物理分配的port接口,需要手动启动,启用物理接口时也不会启动网络组这种逻辑接口。但是禁用网络组接口,会禁用组中的物理port接口。

(1) 创建网络组:

nmcli con add type team con-name CNAME ifname

INAME [config JSON]

CNAME 连接名,INAME 接口名

JSON 指定runner 方式

格式:'{“runner”: {“name”: “METHOD”}}’ # 两个冒号后面分别有一个空格

METHOD 可以是broadcast, roundrobin, activebackup, loadbalance, lacp.

(2) 创建port接口:

nmcli con add type team-slave con-name CNAME ifname INAME master TEAM

CNAME 连接名, INAME 网络接口名,TEAM 网络组

接口名.

连接名若不指定,默认为team-slave-IFACE .

nmcli dev dis INAME; nmcli con up CNAME

INAME 名 设备名 CNAME 网络组接口名或port

具体示例:

下面将创建一个逻辑设备名是team0,物理设备名也叫team0(因为team本来是一个逻辑设备,所以只好指定物理设备也是它啦!其实它是不存在的了),添加两块物理网卡,连接名为team0-port1,team0-port2 。物理网卡真实名字为eno50332208和eno33554984,并设定team的工作方式为activebackup,指定其ip地址dns网关,子网掩码等信息

[root@c7node2network-scripts]#nmcliconaddtypeteamcon-nameteam0ifnameteam0\config'{"runner":{"name":"activebackup"}}'Connection'team0'(7a11cf1f-9c4b-4cc0-adf0-88e5e000e861)successfullyadded.[root@c7node2network-scripts]#nmcliconmodteam0ipv4.methodmanual\ipv4.addresses'10.1.255.101/16'ipv4.gateway'10.1.0.1'ipv4.dns'114.114.114.114'[root@c7node2network-scripts]#nmcliconaddtypeteam-slavecon-nameteam0-port1\ifnameeno33554984masterteam0Connection'team0-port1'(ee7edb65-ce6d-446c-be96-7f57be2ddbd7)successfullyadded.[root@c7node2network-scripts]#nmcliconaddtypeteam-slavecon-nameteam0-port2\ifnameeno50332208masterteam0Connection'team0-port2'(80043681-91d9-4c1e-ba1f-e1229b3b02b0)successfullyadded.

使用nmcli命令生成的三个配置文件如下:也可以直接编辑配置文件重启服务使其生效

[root@c7node2network-scripts]#catifcfg-team0DEVICE=team0TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\"}}"#此处配置文件”前面的\是转义作用防止中间的引号与最外面的”混淆DEVICETYPE=TeamBOOTPROTO=noneDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noNAME=team0UUID=7a11cf1f-9c4b-4cc0-adf0-88e5e000e861ONBOOT=yesDNS1=114.114.114.114IPADDR=10.1.255.101PREFIX=16GATEWAY=10.1.0.1IPV6_PEERDNS=yesIPV6_PEERROUTES=yes

[root@c7node2network-scripts]#catifcfg-team0-port1NAME=team0-port1UUID=ee7edb65-ce6d-446c-be96-7f57be2ddbd7DEVICE=eno33554984ONBOOT=yesTEAM_MASTER=team0DEVICETYPE=TeamPort

[root@c7node2network-scripts]#catifcfg-team0-port2NAME=team0-port2UUID=80043681-91d9-4c1e-ba1f-e1229b3b02b0DEVICE=eno50332208ONBOOT=yesTEAM_MASTER=team0DEVICETYPE=TeamPort[root@c7node2network-scripts]#teamdctlteam0statesetup:runner:activebackuprunner:activeport:#此时查看到的是team的接口是都没有up的状态,但是team0已经启动。[root@c7node2network-scripts]#nmcliconupteam0-port1Connectionsuccessfullyactivated(D-Busactivepath:/org/freedesktop/NetworkManager/ActiveConnection/8)[root@c7node2network-scripts]#nmcliconupteam0-port2Connectionsuccessfullyactivated(D-Busactivepath:/org/freedesktop/NetworkManager/ActiveConnection/9)[root@c7node2network-scripts]#teamdctlteam0statesetup:runner:activebackupports:eno33554984linkwatches:linksummary:upinstance[link_watch_0]:name:ethtoollink:updowncount:0eno50332208linkwatches:linksummary:upinstance[link_watch_0]:name:ethtoollink:updowncount:0runner:activeport:eno33554984[root@c7node2network-scripts]#[root@c7node2network-scripts]#ping-Iteam010.1.0.1#验证使用team0ping网关成功!PING10.1.0.1(10.1.0.1)from10.1.255.101team0:56(84)bytesofdata.64bytesfrom10.1.0.1:icmp_seq=1ttl=64time=0.874ms64bytesfrom10.1.0.1:icmp_seq=2ttl=64time=1.41ms64bytesfrom10.1.0.1:icmp_seq=3ttl=64time=0.641ms---10.1.0.1pingstatistics---3packetstransmitted,3received,0%packetloss,time2013msrttmin/avg/max/mdev=0.641/0.976/1.413/0.323ms[root@c7node2network-scripts]#teamdctlteam0state|grep"activeport"activeport:eno33554984[root@c7node2network-scripts]#上面可知活动接口为eno33554984当物理上断开一个接口再次查看#可以看到已经切换活动网卡为备用网卡了,当然当主网卡恢复正常时,为了保证链路稳定性,不会自动切换回来[root@c7node2network-scripts]#teamdctlteam0state|grep"activeport"activeport:eno50332208

七、route路由管理命令:

route -n 查看路由(在windows中可以使用route print打印路由)

使用route命令可以给主机添加或删除路由,其中子网掩码可以用netmask来指定

可以添加0.0.0.0/0表示默认路由

route add|delete [-net|-host] target [netmask ] [gw gateway] [dev interface]

示例:

[root@cnode6_8~]#routeadd-net8.0.0.0/8gw10.1.0.1deveth4[root@cnode6_8~]#routeadd-net8.0.0.0/16gw10.1.0.1deveth4[root@cnode6_8~]#routedelete-net8.0.0.0/16gw10.1.0.1deveth4[root@cnode6_8~]#routedelete-net8.0.0.0/24gw10.1.0.1deveth4[root@cnode6_8~]#route-n|grepeth410.1.0.00.0.0.0255.255.0.0U100eth48.0.0.010.1.0.1255.0.0.0UG000eth4

八、 使用netstat和ss命令查看网络套接字信息:

使用netstat命令查看网络连接路由表,端口信息

常用参数:前面是短选项,管道后面是相应的长选项

-t | –tcp :tcp相关协议

-u |–udp:udp相关协议

-w|raw:raw socket相关

-l |listening:处于监听状态

-a|all :所有状态

-n |numeric:以数字显示ip和端口号

-p|–program : 显示相关进程及PID

-I 显示接口统计信息

示例:(常用的组合:-tan,-uan,-tnl,-unl)

[root@cnode6_8~]#netstat-tnlActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddressForeignAddressStatetcp000.0.0.0:540280.0.0.0:*LISTENtcp000.0.0.0:1110.0.0.0:*LISTENtcp000.0.0.0:220.0.0.0:*LISTENtcp00127.0.0.1:6310.0.0.0:*LISTENtcp00127.0.0.1:250.0.0.0:*LISTENtcp00127.0.0.1:60100.0.0.0:*LISTENtcp00:::111:::*LISTENtcp00:::51792:::*LISTENtcp00:::22:::*LISTENtcp00::1:631:::*LISTENtcp00::1:25:::*LISTENtcp00::1:6010:::*LISTEN

[root@cnode6_8~]#netstat-unlActiveInternetconnections(onlyservers)ProtoRecv-QSend-QLocalAddressForeignAddressStateudp000.0.0.0:9960.0.0.0:*udp000.0.0.0:1110.0.0.0:*udp000.0.0.0:6310.0.0.0:*udp00127.0.0.1:6590.0.0.0:*udp000.0.0.0:680.0.0.0:*udp000.0.0.0:488400.0.0.0:*udp00:::996:::*udp00:::111:::*udp00:::32927:::*

[root@cnode6_8~]#netstat-uanActiveInternetconnections(serversandestablished)ProtoRecv-QSend-QLocalAddressForeignAddressStateudp000.0.0.0:9960.0.0.0:*udp000.0.0.0:1110.0.0.0:*udp000.0.0.0:6310.0.0.0:*udp00127.0.0.1:6590.0.0.0:*udp000.0.0.0:680.0.0.0:*udp000.0.0.0:488400.0.0.0:*udp00:::996:::*udp00:::111:::*udp00:::32927:::*

[root@cnode6_8~]#netstat-tanActiveInternetconnections(serversandestablished)ProtoRecv-QSend-QLocalAddressForeignAddressStatetcp000.0.0.0:540280.0.0.0:*LISTENtcp000.0.0.0:1110.0.0.0:*LISTENtcp000.0.0.0:220.0.0.0:*LISTENtcp00127.0.0.1:6310.0.0.0:*LISTENtcp00127.0.0.1:250.0.0.0:*LISTENtcp00127.0.0.1:60100.0.0.0:*LISTENtcp052192.168.66.129:22192.168.66.1:53171ESTABLISHEDtcp00:::111:::*LISTENtcp00:::51792:::*LISTENtcp00:::22:::*LISTENtcp00::1:631:::*LISTENtcp00::1:25:::*LISTENtcp00::1:6010:::*LISTEN

[root@cnode6_8~]#netstat-I//显示内核中接口统计信息KernelInterfacetableIfaceMTUMetRX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRbond01500058073000155000eth1150002712200020000eth21500016690001001000eth3150003060700055000eth41500027466000100000lo6553603200032000

文章防盗链地址:http://jackcui.blog.51cto.com/

世俗的纷扰,生活的琐碎使人精疲力尽,

Linux网络基础配置与网络进阶管理推荐

相关文章:

你感兴趣的文章:

标签云: