linnux命令
1.安装brctl
centos7.6安装使用
- yum install bridge-utils
ubuntu使用
- apt-get install bridge-utils
什么是网桥
网桥是一种在链路层实现中继,对帧进行转发的技术,根据MAC分区块,可隔离碰撞,将网络的多个网段在数据链路层连接起来的网络设备。
Linux 网桥配置命令:brctl
- [root@guanbin-k8s-node sbin]# brctl -help
- Usage: brctl [commands]
- commands:
- addbr <bridge> add bridge
- delbr <bridge> delete bridge
- addif <bridge> <device> add interface to bridge
- delif <bridge> <device> delete interface from bridge
- hairpin <bridge> <port> {on|off} turn hairpin on/off
- setageing <bridge> <time> set ageing time
- setbridgeprio <bridge> <prio> set bridge priority
- setfd <bridge> <time> set bridge forward delay
- sethello <bridge> <time> set hello time
- setmaxage <bridge> <time> set max message age
- setpathcost <bridge> <port> <cost> set path cost
- setportprio <bridge> <port> <prio> set port priority
- show [ <bridge> ] show a list of bridges
- showmacs <bridge> show a list of mac addrs
- showstp <bridge> show bridge stp info
- stp <bridge> {on|off} turn stp on/off
Usage: brctl [commands]
commands:
addbr |
<bridge> |
add bridge |
delbr |
<bridge> |
delete bridge |
addif |
<bridge> <device> |
add interface to bridge |
delif |
<bridge> <device> |
delete interface from bridge |
setageing |
<bridge> <time> |
set ageing time |
setbridgeprio |
<bridge> <prio> |
set bridge priority |
setfd |
<bridge> <time> |
set bridge forward delay |
sethello |
<bridge> <time> |
set hello time |
setmaxage |
<bridge> <time> |
set max message age |
setpathcost |
<bridge> <port> <cost> |
set path cost |
setportprio |
<bridge> <port> <prio> |
set port priority |
show |
show a list of bridges |
|
showmacs |
<bridge> |
show a list of mac addrs |
showstp |
<bridge> |
show bridge stp info |
stp |
<bridge> {on|off} |
turn stp on/off |
增加网桥
- [inbi@debian~]#brctl addbr br0
#增加一个网桥
- [inbi@debian~]#ifconfig eth0 0.0.0.0 promisc
- [inbi@debian~]#ifconfig eth1 0.0.0.0 promisc
- [inbi@debian~]#brctl addif br0 eth0 eth1
#将两块已有的网卡添加到网桥,此时这两个网卡工作于混杂模式,所以不需要IP了,因为网桥是工作在链路层的。
- [inbi@debian~]#brctl show
#查看已有网桥
你也可以为 br0 设置一个IP,已访问这台机器。
- [inbi@debian~]#ifconfig br0 10.10.1.1 netmask 255.255.0.0 up
删除网桥
- [inbi@debian~]#brctl delif br0 eth0 eth1
#增加网桥中的接口
- [inbi@debian~]#brctl delbr br0
#删除网桥
- [inbi@debian~]#brctl stp br0 off
#关闭生成树协议,减少数据包污染,因为我这里只有一个路由器哦!
- [inbi@debian~]#echo "modprobe bridge">>/etc/rc.local
#开机加载 bridge 模块,或者echo “bridge”>>/etc/modules
- [inbi@debian~]#cp /etc/network/interfaces /etc/network/interfaces.default
#备份下,方便以后使用啊!
- [inbi@debian~]#vim /etc/network/interfaces
- auto lo eth0 eth1 br0
- iface lo inet loopback
- iface br0 inet static
- address 10.10.10.1
- netmask 255.255.0.0
- gateway 10.10.10.254
- pre-up ip link set eth0 promisc on
- pre-up ip link set eth1 promisc on
- pre-up echo "1">/proc/sys/net/ipv4/ip_forward
- bridge_ports eth0 eth1
#配置eth0 eth1 br0开机启动,eth0,eth1未设置IP信息,在启动br0网卡时,开启了eth0,eth1的混杂模式,并桥接了它们。
2.安装ifconfig
- Linux ifconfig命令用于显示或设置网络设备。
- ifconfig可设置网络设备的状态,或是显示目前的设置。
- yum install net-tools
ifconfig -help
- [root@guanbin-k8s-node sbin]# ifconfig -help
- Usage:
- ifconfig [-a] [-v] [-s] <interface> [[<AF>] <address>]
- [add <address>[/<prefixlen>]]
- [del <address>[/<prefixlen>]]
- [[-]broadcast [<address>]] [[-]pointopoint [<address>]]
- [netmask <address>] [dstaddr <address>] [tunnel <address>]
- [outfill <NN>] [keepalive <NN>]
- [hw <HW> <address>] [mtu <NN>]
- [[-]trailers] [[-]arp] [[-]allmulti]
- [multicast] [[-]promisc]
- [mem_start <NN>] [io_addr <NN>] [irq <NN>] [media <type>]
- [txqueuelen <NN>]
- [[-]dynamic]
- [up|down] ...
- <HW>=Hardware Type.
- List of possible hardware types:
- loop (Local Loopback) slip (Serial Line IP) cslip (VJ Serial Line IP)
- slip6 (6-bit Serial Line IP) cslip6 (VJ 6-bit Serial Line IP) adaptive (Adaptive Serial Line IP)
- ash (Ash) ether (Ethernet) ax25 (AMPR AX.25)
- netrom (AMPR NET/ROM) rose (AMPR ROSE) tunnel (IPIP Tunnel)
- ppp (Point-to-Point Protocol) hdlc ((Cisco)-HDLC) lapb (LAPB)
- arcnet (ARCnet) dlci (Frame Relay DLCI) frad (Frame Relay Access Device)
- sit (IPv6-in-IPv4) fddi (Fiber Distributed Data Interface) hippi (HIPPI)
- irda (IrLAP) ec (Econet) x25 (generic X.25)
- infiniband (InfiniBand) eui64 (Generic EUI-64)
- <AF>=Address family. Default: inet
- List of possible address families:
- unix (UNIX Domain) inet (DARPA Internet) inet6 (IPv6)
- ax25 (AMPR AX.25) netrom (AMPR NET/ROM) rose (AMPR ROSE)
- ipx (Novell IPX) ddp (Appletalk DDP) ec (Econet)
- ash (Ash) x25 (CCITT X.25)
参数说明:
- add<地址> 设置网络设备IPv6的IP地址。
- del<地址> 删除网络设备IPv6的IP地址。
- down 关闭指定的网络设备。
- <hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
- io_addr<I/O地址> 设置网络设备的I/O地址。
- irq<IRQ地址> 设置网络设备的IRQ。
- media<网络媒介类型> 设置网络设备的媒介类型。
- mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
- metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
- mtu<字节> 设置网络设备的MTU。
- netmask<子网掩码> 设置网络设备的子网掩码。
- tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
- up 启动指定的网络设备。
- -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
- -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
- -promisc 关闭或启动指定网络设备的promiscuous模式。
- [IP地址] 指定网络设备的IP地址。
- [网络设备] 指定网络设备的名称。
示例
显示网络设备
- # ifconfig
- eth0 Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C
- inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
- inet6 addr: fe80::250:56ff:fe0a:b0c/64 Scope:Link
- UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
- RX packets:172220 errors:0 dropped:0 overruns:0 frame:0
- TX packets:132379 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:1000
- RX bytes:87101880 (83.0 MiB) TX bytes:41576123 (39.6 MiB)
- Interrupt:185 Base address:0x2024
- lo Link encap:Local Loopback
- inet addr:127.0.0.1 Mask:255.0.0.0
- inet6 addr: ::1/128 Scope:Host
- UP LOOPBACK RUNNING MTU:16436 Metric:1
- RX packets:2022 errors:0 dropped:0 overruns:0 frame:0
- TX packets:2022 errors:0 dropped:0 overruns:0 carrier:0
- collisions:0 txqueuelen:0
- RX bytes:2459063 (2.3 MiB) TX bytes:2459063 (2.3 MiB)
启动关闭指定网卡
- # ifconfig eth0 down
- # ifconfig eth0 up
为网卡配置和删除IPv6地址
- # ifconfig eth0 add 33ffe:3240:800:1005::2/ 64 //为网卡设置IPv6地址
- # ifconfig eth0 del 33ffe:3240:800:1005::2/ 64 //为网卡删除IPv6地址
用ifconfig修改MAC地址
- # ifconfig eth0 down //关闭网卡
- # ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
- # ifconfig eth0 up //启动网卡
- # ifconfig eth1 hw ether 00:1D:1C:1D:1E //关闭网卡并修改MAC地址
- # ifconfig eth1 up //启动网卡
配置IP地址
- # ifconfig eth0 192.168.1.56
- //给eth0网卡配置IP地址
- # ifconfig eth0 192.168.1.56 netmask 255.255.255.0
- // 给eth0网卡配置IP地址,并加上子掩码
- # ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255
- // 给eth0网卡配置IP地址,加上子掩码,加上个广播地址
启用和关闭ARP协议
- # ifconfig eth0 arp //开启
- # ifconfig eth0 -arp //关闭
设置最大传输单元
- # ifconfig eth0 mtu 1500
- //设置能通过的最大数据包大小为 1500 bytes