ip、ss、nmcli、ifconfig、netstat及bonding实验

修改主机名永久生效:vim /etc/udev/rules.d/70-persistent-net.rules文件

实验:配置centos6系统的网络

1、hostname命令:修改主机名,临时有效**

【例1】修改主机名为node1
[root@magedu ~]# hostname node1
验证临时生效:
[root@magedu ~]# exec bash

2、通过配置文件修改主机名,重启永久生效**

【例2】编辑文件/etc/sysconfig/network,修改主机名为magedu

[root@node1 ~]# cat /etc/sysconfig/network

添加内容:
HOSTNAME=magedu

3、设置本地解析器/etc/hosts,在使用dns前检查**

【例3】添加本机地址为172.18.119.74解析映射为magedu.com,172.18.0.1映射为server.com
[root@node1 ~]# vim /etc/hosts
添加内容:
172.18.119.74 magedu.com
172.18.0.1 server.com

4、ifconfig命令:显示或配置网卡的ip地址

【例5】配置eth1网卡地址为1.1.1.1/24
[root@magedu ~]# ifconfig eth1 1.1.1.1/24 up
或:
[root@magedu ~]# ifconfig eth1 1.1.1.1 netmask 255.255.255.0

【例6】禁用eth1网卡
[root@magedu ~]# ifconfig eth1 down
【例7】激活eth1网卡
[root@magedu ~]# ifconfig eth1 up

【例8】配置eth1的网卡别名为eth1:0,ip为10.0.0.100
[root@magedu ~]# ifconfig eth1:0 10.0.0.100/24 up

5、route命令:查看、添加、删除路由

【例10】添加到1.1.1.1的主机路由,网关为172.18.0.1

[root@magedu ~]# route add -host 1.1.1.1 gw 172.18.0.1
[root@magedu ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

1.1.1.1         172.18.0.1      255.255.255.255 UGH   0      0        0 eth0

【例11】删除主机路由1.1.1.1
[root@magedu ~]# route del -host 1.1.1.1

【例12】添加到1.1.1.0/24的网络路由,网关为172.18.0.1
[root@magedu ~]# route add -net 1.1.1.0/24 gw 172.18.0.1 dev eth0 或
[root@magedu ~]# route add -net 1.1.1.0 netmask 255.255.255.0 gw 172.18.0.1 dev eth0

【例13】添加默认路由
[root@magedu ~]# route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.18.0.1 或
[root@magedu ~]# route add default gw 172.18.0.1

6、ip命令:可配置网卡启用或禁用、设置ip地址、设置路由

【例14】禁用ens38网卡
[root@magedu ~]# ip link set dev ens38 down

【例15】查看eth1网卡的状态

[root@magedu ~]# ip link show dev eth1
6: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
  link/ether 00:0c:29:69:08:ca brd ff:ff:ff:ff:ff:ff

【例16】启用eth1网卡
[root@magedu ~]# ip link set dev eth1 up

【例17】显示所有网卡状态信息

[root@magedu ~]# ip link show 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000

【例18】删除网卡eth1上的地址1.1.1.1/8

[root@magedu ~]# ip addr del 1.1.1.1/8 dev eth1

【例19】添加网卡eth1上的地址3.3.3.3/24

[root@magedu ~]# ip addr add 3.3.3.3/24 dev eth1

【例21】配置eth1网卡别名为ens38:0,地址为4.4.4.4/24
[root@magedu ~]# ip addr add 4.4.4.4/24 dev eth1 label eth1:0
【例22】删除eth1网卡别名为eth1:0
[root@magedu ~]# ip addr flush dev eth1 label eth1:0
【例23】删除eth1网卡上的使用ip地址
[root@magedu ~]# ip addr flush dev eth1
【例24】查看路由表
[root@magedu ~]# ip route show / list
【例25】添加主机路由192.168.1.13
[root@magedu ~]# ip route add 192.168.1.13 via 172.18.0.1
【例26】添加网络路由192.168.0.0/24
[root@magedu ~]# ip route add 192.168.0.0/24 via 172.18.0.1
【例27】添加默认网关
[root@magedu ~]# ip route add default via 172.18.0.1
【例28】删除路由
[root@magedu ~]# ip route del default via 172.18.0.1
【例29】清空网卡eth1上的路由
[root@magedu ~]# ip route flush dev eth1

7、编辑网卡配置文件,一次性设定ip、掩码、dns、网关,使其重启永久生效

【例30】编辑网卡eth0的配置文件,设置ip为192.168.0.2,掩码为255.255.255.0,网关为172.18.0.1,dns为8.8.8.8

 [root@magedu ~]# cd /etc/sysconfig/network-scripts/
[root@magedu ~]# vim ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
HWADDR=00:0C:29:6A:28:CA
IPADDR=192.168.0.2
NETMASK=255.255.255.0
DNS1=8.8.8.8
GATEWAY=172.18.0.1

【例31】配置dns文件,地址为172.18.0.1,重启永久生效
[root@magedu ~]# vim /etc/resolv.conf
添加内容:
nameserver 172.18.0.1

9、netstat命令:显示网络连接

【例32】查看tcp协议,用数字显示ip和端口,所有状态网络连接
[root@magedu ~]# netstat -tan /-uan :是查看udp协议
【例34】查看tcp协议,用数字显示ip和端口,所有处于监听状态网络连接
[root@magedu ~]# netstat -tnl / -unl :查看udp协议
【例36】显示所有接口统计数据
[root@magedu ~]# netstat -i
【例37】显示eth0接口是流量数据
[root@magedu ~]# netstat -I=eth0 或 ifconfig -s eth0

10、ss命令:显示套接字的工具

【例38】显示所有tcp协议相关的套接字,以数字方式显示
[root@magedu ~]# ss -tan -tanl :此为监听状态
【例40】所有tcp协议处于监听状态的套接字,以数字方式显示,并显示相关程序和pid
[root@magedu ~]# ss -tanlp

11、bonding配置

【例42】把eth0和eth1进行网卡绑定绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。
前提:关闭NetworkManager服务
[root@magedu ~]# service NetworkManager stop
配置bond0文件:

[root@magedu ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
BONDING_OPTS="miimon=100  mode=1"
IPADDR=1.1.1.1
NETMASK=255.255.255.0

配置网卡文件
[root@magedu ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:50:56:3d:28:04
TYPE=Ethernet
ONBOOT=yes
MASTER=bond0
SLAVE=yes
[root@magedu ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1
EVICE=eth1
HWADDR=00:50:56:37:2b:03
TYPE=Ethernet
ONBOOT=yes
MASTER=bond0
SLAVE=yes
重启网络服务:
[root@magedu ~]# service network restart
查看bond信息
[root@magedu ~]# cat /proc/net/bonding/bond0
查看bond模式
[root@magedu ~]# cat /sys/class/net/bond0/bonding/mode

实验三:配置centos7系统的网络

1、hostnamectl命令设置主机名,永久生效

【例1】修改主机名为node1
[root@magedu ~]#hostnamectl set-hostname node1
查看主机名:
[root@magedu ~]# hostname /hostnamectl status
此方法设置主机名后永久生效,其实际修改的配置文件是/etc/hostname,若删除该文件,恢复默认主机名为localhost.localdomain。

2、nmcli命令

【例3】可通过命令查看使用的网卡配置文件信息如下
[root@magedu ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens33 c96bc909-188e-ec64-3a96-6a90982b08ad ethernet
【例4】查看网卡设备信息
[root@magedu ~]# nmcli device
DEVICE TYPE STATE CONNECTION
ens33 ethernet connected ens33
virbr0 bridge connected virbr0
【例5】禁用ens34网卡设备
禁用前,查看ens34网卡正常:
[root@magedu ~]# ip address show ens34
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
禁用ens34网卡:
[root@magedu ~]# nmcli device disconnect ens34
Device 'ens34' successfully disconnected.
验证是否禁用了ens34网卡:
[root@magedu ~]# ip address show ens34
3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:69:08:c0 brd ff:ff:ff:ff:ff:ff
【例6】启用ens34网卡
[root@magedu ~]# nmcli device connect ens34
Device 'ens34' successfully activated with '631d3c53-1f8f-4e9b-be82-b4308e83b859'.
【例7】给ens34网卡增加一个配置名称为zhangsan
[root@magedu ~]# nmcli connection add con-name zhangsan type ethernet ifname ens34
Connection 'zhangsan' (e3e9c2f7-15fa-4d47-add4-c6667b0dbc33) successfully added.
查看网卡使用的配置名称:
[root@magedu ~]# nmcli connection show
NAME UUID TYPE DEVICE
ens33 c96bc909-188e-ec64-3a96-6a90982b08ad ethernet ens33
ens34 631d3c53-1f8f-4e9b-be82-b4308e83b859 ethernet ens34
ens35 330979d5-87ac-45fa-9d29-b6ffa0900c76 ethernet ens35
ens36 023c8fc5-3850-498a-9906-72583cd5fec7 ethernet ens36
virbr0 d3cf5ef7-3e68-4272-8db4-8df418774ad8 bridge virbr0
zhangsan e3e9c2f7-15fa-4d47-add4-c6667b0dbc33 ethernet
此时,会自动创建一个网卡配置文件名为ifcfg-zhangsan:
[root@magedu ~]# ls /etc/sysconfig/network-scripts/
【例9】把网卡的配置名称zhangsan修改为ens34-office
[root@magedu ~]# nmcli connection modify zhangsan connection.id ens34-office

【例10】手动设定网卡配置名称为ens34-office的相关信息:ip地址为1.1.1.1/24,网关为1.1.1.254,dns为8.8.8.8

设定前查看:
[root@magedu ~]# nmcli connection show ens34-office
设定:
[root@magedu ~]# nmcli connection modify ens34-office ipv4.method manual ipv4.addresses 1.1.1.1/24 ipv4.gateway 1.1.1.254 ipv4.dns 8.8.8.8
使其生效:
[root@magedu ~]# nmcli connection up ens34-office
【例11】修改网卡配置名称ens34-office中ip地址为9.9.9.9/24
[root@magedu ~]# nmcli connection modify ens34-office ipv4.addresses 9.9.9.9/24
使其生效:
[root@magedu ~]# nmcli connection up ens34-office
【例12】给网卡配置名称ens34-office中添加多个ip地址
[root@magedu ~]# nmcli connection modify ens34-office +ipv4.addresses 2.2.2.2/24
[root@magedu ~]# nmcli connection modify ens34-office +ipv4.addresses 3.3.3.3/24
使其生效:
[root@magedu ~]# nmcli connection up ens34-office
【例13】从网卡配置名称ens34-office中删除ip地址2.2.2.2/24
[root@magedu ~]# nmcli connection modify ens34-office -ipv4.addresses 2.2.2.2/24
【例14】删除网卡的一个配置名称即删除网卡的一个配置文件
[root@magedu ~]# nmcli connection delete ens34-office
【例15】使用nmcli命令实现把ens35和ens36网卡进行bonding,ip地址为1.1.1.1/24
第一步:添加bonding接口,配置名为bond0,接口名为bond0,使用主备模式:
[root@magedu ~]# nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup
第二步:给配置名为bond0手动添加ip地址1.1.1.1/24:
[root@magedu ~]# nmcli connection modify bond0 ipv4.method manual ipv4.addresses 1.1.1.1/24
第三步:启用bond0:
[root@magedu ~]# nmcli connection up bond0
第四步:分别把ens35和ens36物理网卡作为slave添加到bond0上
配置前查看:
[root@magedu ~]# cat /proc/net/bonding/bond0

[root@magedu ~]# nmcli connection add type bond-slave ifname ens35 con-name bond-slave-ens35 master bond0
[root@magedu ~]# nmcli connection add type bond-slave ifname ens36 con-name bond-slave-ens36 master bond0
配置后查看:
[root@magedu ~]# nmcli connection show
【例15】禁用bond0
[root@magedu ~]# nmcli connection down bond0
【例16】使用nmcli命令创建网络组,把ens35和ens36网卡添加进入网络组中,创建物理组team0:网络组配置名称为team0,接口名称为team0,使用负载均衡模式
[root@magedu ~]# nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"loadbalance"}}'
把网卡ens35和ens36添加到网络组team0中:
[root@magedu ~]# nmcli connection add type team-slave con-name team0-slave-ens35 ifname ens35 master team0
[root@magedu ~]# nmcli connection add type team-slave con-name team0-slave-ens36 ifname ens36 master team0
给team0网络组添加ip地址:
[root@magedu ~]# nmcli connection modify team0 ipv4.method manual ipv4.addresses 1.1.1.1/24
启用team0:
[root@magedu ~]# nmcli connection up team0
【例17】修改网络组team0的工作模式为主备
[root@magedu ~]# nmcli connection modify team0 team.config '{"runner":{"name":"activebackup"}}'
[root@magedu ~]# nmcli connection up team0
【例19】创建虚拟交换机(也称软件网桥)
查看:
[root@magedu ~]# nmcli device status
创建网桥接口名称为br0,配置名称为br0:
[root@magedu ~]# nmcli connection add type bridge con-name br0 ifname br0
把ens35网卡桥接到br0上:
[root@magedu ~]# nmcli connection add type bridge-slave con-name br0-ens35 ifname ens35 master br0
给br0添加ip地址1.1.1.1/24:
[root@magedu ~]# nmcli connection modify br0 ipv4.method manual ipv4.addresses 1.1.1.1/24
启用br0接口:
[root@magedu ~]# nmcli connection up br0
查看:
[root@magedu ~]# brctl show
[root@magedu ~]# nmcli connection show
【例20】从br0网桥中删除ens35接口
[root@magedu ~]# brctl delif br0 ens35

4、tcpdump命令抓包测试**

【例4】在ens33接口上抓icmp协议的数据包
[root@magedu ~]# tcpdump -i ens33 -nn icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
04:44:23.609524 IP 172.18.118.87 > 172.18.0.1: ICMP echo request, id 13039, seq 5, length 64
04:44:23.609836 IP 172.18.0.1 > 172.18.118.87: ICMP echo reply, id 13039, seq 5, length 64
04:44:24.610624 IP 172.18.118.87 > 172.18.0.1: ICMP echo request, id 13039, seq 6, length 64
04:44:24.610882 IP 172.18.0.1 > 172.18.118.87: ICMP echo reply, id 13039, seq 6, length 64

上一篇:Linux学习笔记十五:nmcli 实现bind,team和bridge


下一篇:java深拷贝和浅拷贝