網橋實現及網絡配置命令


一.網橋

橋接:把一台機器上的若干個網絡接口“連接”起來。其結果是,其中一個網口收到的報文會被復制給其他網口並發送出去。以使得網口之間的報文能夠互相轉發。網橋就是這樣一個設備,它有若干個網口,並且這些網口是橋接起來的。與網橋相連的主機就能通過交換機的報文轉發而互相通信。

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地址,也可以是主機名


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM