1、nmcli命令实现centos7的bonding
传统的修改配置文件的方式也可以实现centos7中的bonding,但比较麻烦,centos7中可以用nmcli命令去实现bonding。
首先要准备两块网卡,并且两块网卡在同一个网卡,这里我们选择两块网卡都是仅主机模式进行试验
[root@redhat7 ~]#nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 192.168.25.200/24
---添加一个bond0的配置,此种方法是将手动添加ip地址也一起添加了,也可以在这里先不添加,后面用nmcli con modify bond0 ipv4.method manual ipv4.addresses 192.168.25.200/24
Connection 'bond0' (b67f90bb-0cd5-410b-bef6-8ec1c77527f6) successfully added.
[root@redhat7 ~]#nmcli connection show ---可以看到已添加成功
NAME UUID TYPE DEVICE
System ens33 c96bc909-188e-ec64-3a96-6a90982b08ad 802-3-ethernet ens33
bond0 b67f90bb-0cd5-410b-bef6-8ec1c77527f6 bond bond0
ens38 c6b33e1f-a602-4c89-b43d-800aedd753a6 802-3-ethernet ens38
将两块物理网卡添加到bond0里面
[root@redhat7 ~]#nmcli connection add type bond-slave ifname ens33 master bond0
[root@redhat7 ~]#nmcli connection add type bond-slave ifname ens38 master bond0
[root@redhat7 ~]#nmcli connection up bond-slave-ens33 ---启用配置
启用第二个配置,查看运行模式
删除bonding
删除的时候也可以用如下方式
nmcli con down bond0
rm -f bond*
nmcli con reload
2、centos7中的Network teaming
网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量
网络组不同于旧版中bonding技术,提供更好的性能和扩展性
网络组由内核驱动和teamd守护进程实现.
多种方式runner
broadcast:每个数据都是两份,停掉一个网卡,数据就变成一份。
roundrobin:从头到尾顺序的在每一个slave接口上面发送数据包。
activebackup:只有一个使用,一个做为备用
loadbalance:平衡负载,数据在两个网卡都走,但找不忙的网卡。
格式:
nmclicon add type team con-name CNAME ifname INAME [config JSON]
CNAME连接名,INAME接口名
JSON指定runner方式
格式:'{"runner": {"name": "METHOD"}}'
METHOD可以是broadcast,roundrobin,activebackup,loadbalance
实例
[root@redhat7 ~]#nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"loadbalance"}}' ---添加team0这个配置,在这里没有指定手动ip地址,就用默认的dhcp自动分配ip地址
Connection 'team0' (d878e70e-ced7-4b18-9d37-a7c4e9719258) successfully added.
[root@redhat7 ~]#nmcli connection show ---添加成功
NAME UUID TYPE DEVICE
System ens33 c96bc909-188e-ec64-3a96-6a90982b08ad 802-3-ethernet ens33
team0 d878e70e-ced7-4b18-9d37-a7c4e9719258 team team0
[root@redhat7 ~]#nmcli connection add type team-slave ifname ens33 master team0 ---将两个物理网卡添加到team0里
Connection 'team-slave-ens33' (27941af1-ad85-46f3-983b-bce15b3e6a7a) successfully added.
[root@redhat7 ~]#nmcli connection show ---可以看到不指定配置的名字会自动生成一个配置为team-slave-ens33的名字
NAME UUID TYPE DEVICE
System ens33 c96bc909-188e-ec64-3a96-6a90982b08ad 802-3-ethernet ens33
team0 d878e70e-ced7-4b18-9d37-a7c4e9719258 team team0
team-slave-ens33 27941af1-ad85-46f3-983b-bce15b3e6a7a 802-3-ethernet --
[root@redhat7 ~]#nmcli connection add type team-slave con-name team-slave-ens38 master team0 ifname ens38 ---指明了配置的名字
Connection 'team-slave-ens38' (6816a6e3-752a-47b0-a3f2-1ae84898d6ec) successfully added.
[root@redhat7 ~]#nmcli connection up team-slave-ens33 ---启动从属的两个配置
删除team0
3、网桥
桥接:把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。网桥就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。与网桥相连的主机就能通过交换机的报文转发而互相通信。
网桥的工作原理和交换机相同,可以隔断冲突域,但不能隔断广播域。
实例
[root@redhat7 ~]#nmcli connection add type bridge con-name br0 ifname br0
Connection 'br0' (e3ee2cdf-3978-4e5c-82ba-baa4494201cc) successfully added.
[root@redhat7 ~]#nmcli connection modify br0 ipv4.method manual ipv4.addresses 192.168.25.200/24
[root@redhat7 network-scripts]#nmcli connection add type bridge-slave ifname ens33 master br0
Connection 'bridge-slave-ens33' (117e5078-cf42-4fa2-9099-6cbbc3195704) successfully added.
[root@redhat7 network-scripts]#nmcli connection add type bridge-slave ifname ens38 master br0
Connection 'bridge-slave-ens38' (ffe86e80-6589-4613-8fef-b533b3b239b5) successfully added
[root@redhat7 network-scripts]#nmcli connection up bridge-slave-ens33
删除网桥的步骤与删除bond和team的步骤相同。
网桥只是将两个物理的网卡桥接到一起,并不会起到容错的功能。
4、网络客户端工具
ftp,lftp
•子命令:get、mget、ls、help
•lftp[-p port] [-u user[,password]] SERVER
lftpgetURL
wget[option]... [URL]...
-q: 静默模式
-c: 断点续传
-O: 保存位置
--limit-rate=: 指定传输速率,单位K,M等
links URL ---linux中看网页
--dump 只看文字
--source只看源代码
- lftp
[root@redhat7 ~]#lftp 172.18.0.1 ---可以匿名登录
lftp 172.18.0.1:~> ls
drwxr-xr-x 7 0 0 4096 Jul 25 00:50 pub
lftp 172.18.0.1:/> cd pub
lftp 172.18.0.1:/pub> ls
drwxr-xr-x 26 0 0 4096 May 15 07:06 Books
drwxr-xr-x 2 0 0 4096 Aug 09 00:42 ISOs
drwxr-xr-x 12 0 0 4096 Jul 04 04:08 Sources
drwxr-xr-x 11 0 0 4096 May 31 07:04 Tools
drwxr-xr-x 2 0 0 4096 Jun 22 07:00 ks
lftp 172.18.0.1:/pub> cd ISOs
lftp 172.18.0.1:/pub/ISOs> ls
-rw-r--r-- 1 0 0 3916431360 May 26 2016 CentOS-6.8-x86_64-bin-DVD1.iso
-rw-r--r-- 1 0 0 2220693504 May 26 2016 CentOS-6.8-x86_64-bin-DVD2.iso
-rw-r--r-- 1 0 0 3972005888 Mar 28 18:26 CentOS-6.9-x86_64-bin-DVD1.iso
-rw-r--r-- 1 0 0 2177677312 Mar 28 18:26 CentOS-6.9-x86_64-bin-DVD2.iso
-rw-r--r-- 1 501 501 7769948160 Dec 27 2016 CentOS-7-x86_64-Everything-1511.iso
-rw-r--r-- 1 0 0 8280604672 Dec 05 2016 CentOS-7-x86_64-Everything-1611.iso
-rw-r--r-- 1 0 0 3420557312 Jun 21 09:06 cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso
-rw-r--r-- 1 501 501 3005818880 May 08 17:04 rhel-server-5.4-i386-dvd.iso
-rw-r--r-- 1 0 0 4059037696 Aug 09 00:38 rhel-server-7.4-x86_64-dvd.iso
lftp 172.18.0.1:/pub/ISOs> get cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso
lftp 172.18.0.1:/pub/ISOs> quit --退出
--get是下载,支持补全,mget可以下载多个文件。
lftp命令可以在linux中进入ftp共享下载东西
- lftpget、wget
[root@redhat7 ~]#lftpget ftp://172.18.0.1/pub/ISOs/cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso ---这个命令不仅可以下载ftp还可以下载http
[root@redhat7 ~]#wget ftp://172.18.0.1/pub/ISOs/cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso ---wget命令也可以下载ftp
--2017-08-21 21:51:54-- ftp://172.18.0.1/pub/ISOs/cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso
=> ‘cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso’
Connecting to 172.18.0.1:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD (1) /pub/ISOs ... done.
==> SIZE cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso ... 3420557312
==> PASV ... done. ==> RETR cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso ... done.
Length: 3420557312 (3.2G) (unauthoritative)
[root@redhat7 app]#wget -q ftp://172.18.0.1/pub/ISOs/cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso -o /app/a.iso
---静默模式,指定保存位置