一.網橋
橋接:把一台機器上的若干個網絡接口“連接”起來。其結果是,其中一個網口收到的報文會被復制給其他網口並發送出去。以使得網口之間的報文能夠互相轉發。網橋就是這樣一個設備,它有若干個網口,並且這些網口是橋接起來的。與網橋相連的主機就能通過交換機的報文轉發而互相通信。
1.方法一:
創建一個網橋(CentOS7)
root@centos7 ~]# brctl addbr br0
查看網橋信息
[root@centos7 ~]# brctl show
添加網橋中網卡
brctl addif br0 eth0
brctl addif br0 eth1
因為系統默認創建的br0是關閉的所以要打開:
ifconfig br0 up
2.方法二nmcli實現網橋:
創建一個網橋:
nmcli connection add type bridge con-name br0 ifname br0
配置網橋
nmcli connection modify br0 ipv4.addresses 192.168.0.7/24 ipv4.method manual
將網卡加入網橋
nmcli connection add type bridge-slave con-name br0-eth0 ifname eth0 master br0
啟用網橋並查看狀態
nmcli connection up br0
nmcli connection up br0-eth0
[root@centos7 ~]# brctl show bridge name bridge id STP enabled interfaces br0 8000.000c295df21e yes eth0
二。網絡配置相關命令
1.ip命令
ip命令可以用於網絡信息顯示和管理相關的操作,將來會替代掉ifconfig。
1)ip命令的基本介紹
ip命令有很多子命令:
[root@localhost ~]# ip --help Usage: ip [ OPTIONS ] OBJECT { COMMAND | help } ip [ -force ] -batch filename where OBJECT := { address | addrlabel | fou | help | ila | l2tp | link | macsec | maddress | monitor | mptcp | mroute | mrule | neighbor | neighbour | netconf | netns | nexthop | ntable | ntbl | route | rule | sr | tap | tcpmetrics | token | tunnel | tuntap | vrf | xfrm } OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] | -h[uman-readable] | -iec | -j[son] | -p[retty] | -f[amily] { inet | inet6 | mpls | bridge | link } | -4 | -6 | -I | -D | -M | -B | -0 | -l[oops] { maximum-addr-flush-attempts } | -br[ief] | -o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] | -rc[vbuf] [size] | -n[etns] name | -N[umeric] | -a[ll] | -c[olor]}
OBJECT所列出的即是它所支持的子命令,我們一般只用link、route、、addr。
link:和接口相關的管理操作,主要是操作鏈路層信息
addr:和ip地址相關的管理操作
route:和路由相關的管理操作
使用ip OBJECT help可以獲取到該object的語法幫助,例如:
[root@localhost ~]# ip addr help Usage: ip address {add|change|replace} IFADDR dev IFNAME [ LIFETIME ] [ CONFFLAG-LIST ] ip address del IFADDR dev IFNAME [mngtmpaddr] ip address {save|flush} [ dev IFNAME ] [ scope SCOPE-ID ] [ to PREFIX ] [ FLAG-LIST ] [ label LABEL ] [up] ip address [ show [ dev IFNAME ] [ scope SCOPE-ID ] [ master DEVICE ] [ type TYPE ] [ to PREFIX ] [ FLAG-LIST ] [ label LABEL ] [up] [ vrf NAME ] ] ip address {showdump|restore} IFADDR := PREFIX | ADDR peer PREFIX [ broadcast ADDR ] [ anycast ADDR ] [ label IFNAME ] [ scope SCOPE-ID ] [ metric METRIC ] SCOPE-ID := [ host | link | global | NUMBER ] FLAG-LIST := [ FLAG-LIST ] FLAG FLAG := [ permanent | dynamic | secondary | primary | [-]tentative | [-]deprecated | [-]dadfailed | temporary | CONFFLAG-LIST ] CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG CONFFLAG := [ home | nodad | mngtmpaddr | noprefixroute | autojoin ] LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ] LFT := forever | SECONDS TYPE := { bareudp | bond | bond_slave | bridge | bridge_slave | dummy | erspan | geneve | gre | gretap | ifb | ip6erspan | ip6gre | ip6gretap | ip6tnl | ipip | ipoib | ipvlan | ipvtap | macsec | macvlan | macvtap | netdevsim | nlmon | rmnet | sit | team | team_slave | vcan | veth | vlan | vrf | vti | vxcan | vxlan | xfrm }
在ip命令行下,任何object都可以寫全名,也可以寫其縮寫名,例如address可以簡寫為addr,也可以簡寫為一個字母a。
2)ip addr
ip addr用於管理網卡的IP地址。
查看ip地址,語法:
ip addr show

配置添加或刪除接口ip地址,語法格式:
ip addr add|del IP/NETMASK dev IFACE [lable LABEL]
說明:
add:添加地址
del:刪除地址
IP/NETMASK:為設定的ip地址和子網掩碼
IFACE:指定接口設備名稱
LABEL:添加地址時指明網卡別名
范例:查看所有接口IP地址(兩種以上)。
ip addr show
ip addr s
ip a
ip a s
范例:查看指定接口ip地址
ip a s eth0
配置eth0接口地址為9.9.9.9/24
ip addr add 9.9.9.9/24 dev eth0
添加eth0的別名為eth0:0地址為6.6.6.6/24
ip addr add 6.6.6.6/24 dev eth0 label eth0:0
3)ip route
ip route用於管理路由,支持查看路由、添加路由、刪除路由、備份和恢復路由等。
添加和刪除路由,語法:
ip route {add|del} TARGET via GW
說明:
add:添加路由
del:刪除路由
TARGET:路由目標:可以是主機路由的ip,也可以是網絡路由NETWORK/MASK
GW:網關
添加默認路由,語法:
ip route add default via GW dev IFACE
查看路由命令,語法:
ip route show|list
清空路由表,語法格式如下:
ip route flush [dev IFACE]
備份和恢復路由表,語法格式如下:
ip route save > file ip route restore < file
以下是ip route 的一些用法示例:
范例:添加網絡路由192.168.0.0/24,下一跳是172.16.0.1
ip route add 192.168.0.0/24 via 172.16.0.1
范例:添加主機路由193.168.244.128,下一跳是172.16.0.1
ip route add 193.168.244.128 via 172.16.0.1
或顯示指定掩碼(主機路由的掩碼是32位)
ip route add 193.168.244.128/32 via 172.16.0.1
范例:顯示路由信息
ip route show
范例:添加網關為172.16.0.1
ip route add default via 172.16.0.1
范例:刪除路由192.168.1.13
ip route del 192.168.1.13
范例:清空eth0接口的路由
ip route flush dev eth0
注意:如果不指定清空的哪個接口,則清空所有路由表記錄。
范例:刪除下一跳為192.168.1.70的路由。
ip route flush via 192.168.1.70
范例:刪除目標為172.168.16.0/16網段的路由
ip route flush 172.168.16.0/16
4)ip link
ip link用於查看網卡的鏈路層信息。
查看網絡接口信息,語法:
ip link show [DEVICE]
禁用或啟用接口,語法:
ip link set DEVICE up | down
范例:激活eth0接口
ip link set eth0 up
范例:查看網絡接口信息:
ip link show
2.ifconfig命令管理網絡接口
配置網絡接口,語法如下:
ifconfig [-a][-s][interface] ifconfig interface option | address ...
說明:
僅執行ifconfig命令,不帶任何參數時,表示顯示當前激活的接口;
-a:表示顯示所有接口配置信息包括狀態為down的接口;
-s:顯示接口的簡短列表,和netstat -i一樣;
interface:指定的接口名稱,例如eth0;
options:
up:激活接口
down:禁用接口
address:
IP/NETMAST[up]:設定ip地址和掩碼(使用掩碼前綴格式),up表示激活
IP netmask NETMASK:設定ip地址和掩碼
范例:配置eth0網卡地址為192.168.93.128/24
ifconfig eth1 192.168.93.128/24 up
ifconfig eth1 192.168.93.128 network 255.255.255.0 up
范例:激活eth0接口
ifconfig eth0 up
范例:臨時down掉eth0接口
ifconfig eth0 down
范例:配置eth0網卡別名為eth0:0,ip為192.168.93.255
ifconfig eth0:0 192.168.93.255/24 up

注意:ifconfig命令均是臨時的,並沒有寫到文件中。
3.route命令
查看路由表,語法格式:
route -n
添加主機路由或網段路由,語法格式:
route add [-net | -host] target [netmask] gw GW
說明:
-net:表示添加網絡路由
-host:表示添加主機路由
target:網絡地址或主機地址
netmask:子網掩碼
GW:下一眺,即網關,必須為能到達
添加默認路由,語法格式如下兩種:
route add default gw GW route add -net 0.0.0.0 netmask NETMASK gw GW
刪除路由,格式如下:
route del [-net | host] target [network] gw GW
范例:添加主機路由192.168.93.128,經過網關為192.168.244.128
route add -host 192.168.93.128 gw 192.168.244.128 dev eth0
范例:添加網絡路由192.168.0.0,經過網關為192.168.244.128
route add -net 192.168.0.0 gw 192.168.244.128 dev eth0
范例:添加默認路由為192.168.244.128
route add default gw 192.168.244.128
范例:刪除主機路由192.168.93.133
route del -host 192.168.93.133
范例:刪除網絡路由192.168.0.0/24
route del -net 192.168.0.0 netmask 255.255.255.0
4.nmcli命令
nmcli是NetworkMAnage提供的網絡管理工具。在nmcli中的connection代表一個網絡接口,說白了就是網卡,connection需要指定類型,一般為ethernet,即以太網接口,除此還有wife、vlan、bond等類型。
每新增一個connection,都可以稱之為connection的配置文件。事實上,,新增connection的是時候,NetworkManage會自動創建一個/etc/sysconfig/network-scripts/ifcfg-NAME的文件。
nmcli命令的用法是:1、查看接口信息;2、查看連接信息;3、啟動或停止接口;4、創建連接;5、修改IP地址;6、修改連接是否為自啟;7、刪除連接;8、配置連接的dns
nmcli用法和示例
啟用或禁用指定網卡接口,語法格式為:
nmcli device [disconnect | connect] IFACE
新建和刪除connection,語法格式為:
nmcli connection add type ethernet con-name NAME ifname IFACE
nmcli con delete NAME
查看connection配置,語法格式為:
nmcli connection show NAME
激活或down掉connection,語法格式為:
nmcli connection up NAME
范例:啟用eth0接口
nmcli device con eth0
范例:新增加一個connection,指定其con-name為eth2-weilan
nmcli con add type bond con-name bond0 ifname bond0
范例:修改eth0-ifcfg后激活它:
nmcli con up eth0-ifcfg
范例:使用reload生效其配置文件
nmcli con reload
范例:刪除eth0-a1配置文件
nmcli con delete eth0-a1
5.ping命令
ping命令是最基本的網絡連通性測試工具之一。它通過發送ICMP協議來探測目標主機是否可達。
語法格式如下:
ping [OPTION] destination
選項和參數說明:
-c #:發送ping包的個數,#表示一個數值;
w #:限定ping命令超時時長,#表示一個數字;
-W #:一次ping操作中,等待對方響應的超時時長,#表示一個數值;
-s #:指明ping包報文大小(默認64字節),#表示一個數值;
destination:表示目標地址,可是ip地址,也可以是主機名
