精华内容
下载资源
问答
  • linux对于分片包过滤

    2021-10-12 22:10:41
    linux的netfilter能否做tcp分片包的过滤和修改?如果不能有没有其他的机制可以修改分片包?因为对于tcp分片数据在netfilter中拦截到的是完整的,对于实际出网卡的数据包是会基于MTU来拆分的,能否过滤到这些分片包...
  • 有时希望网卡不做cpu减压处理,希望能够,禁用TCP offload engine ethtool --offload ethX rx off tx off

    有时希望网卡不做cpu减压处理,希望能够,禁用TCP offload engine

    ethtool --offload  ethX  rx off  tx off

     

    展开全文
  • Linux下双网卡绑定bond0,1,4

    万次阅读 2018-11-06 10:53:35
    Linux下双网卡绑定bond0 一:原理: linux操作系统下双网卡绑定有七种模式。现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多。而一般企业都会使用linux操作系统...

    Linux下双网卡绑定bond0

    一:原理:

    linux操作系统下双网卡绑定有七种模式。现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多。而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在网卡产商也会出一些针对windows操作系统网卡管理软件来做网卡绑定(windows操作系统没有网卡绑定功能 需要第三方支持)。进入正题,linux有七种网卡绑定模式:0. round robin,1.active-backup,2.load balancing (xor),  3.fault-tolerance (broadcast), 4.lacp,  5.transmit load balancing, 6.adaptive load balancing。

    Linux 多网卡绑定

    网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6

    常用的有三种

    mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。

    mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。

    mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

    需要说明的是如果想做成mode 0的负载均衡,仅仅设置这里options bond0 miimon=100 mode=0是不够的,与网卡相连的交换机必须做特殊配置(这两个端口应该采取聚合方式),因为做bonding的这两块网卡是使用同一个MAC地址.从原理分析一下(bond运行在mode 0下):

    mode 0下bond所绑定的网卡的IP都被修改成相同的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多 个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。所以 mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为 ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址.我们的解 决办法是,两个网卡接入不同的交换机即可。

    mode6模式下无需配置交换机,因为做bonding的这两块网卡是使用不同的MAC地址。

    七种bond模式说明:

    第一种模式:mod=0 ,即:(balance-rr) Round-robin policy(平衡抡循环策略)

    特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降

     

    第二种模式:mod=1,即: (active-backup) Active-backup policy(主-备份策略)

    特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。此模式只提供了容错能力;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N

     

    第三种模式:mod=2,即:(balance-xor) XOR policy(平衡策略)

    特点:基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址 XOR 目标MAC地址) % slave数量。其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能力

     

    第四种模式:mod=3,即:broadcast(广播策略)

    特点:在每个slave接口上传输每个数据包,此模式提供了容错能力

     

    第五种模式:mod=4,即:(802.3ad) IEEE 802.3ad Dynamic link aggregation(IEEE 802.3ad 动态链接聚合)

    特点:创建一个聚合组,它们共享同样的速率和双工设定。根据802.3ad规范将多个slave工作在同一个激活的聚合体下。

    外出流量的slave选举是基于传输hash策略,该策略可以通过xmit_hash_policy选项从缺省的XOR策略改变到其他策略。需要注意的 是,并不是所有的传输策略都是802.3ad适应的,尤其考虑到在802.3ad标准43.2.4章节提及的包乱序问题。不同的实现可能会有不同的适应 性。

    必要条件:

    条件1:ethtool支持获取每个slave的速率和双工设定

    条件2:switch(交换机)支持IEEE 802.3ad Dynamic link aggregation

    条件3:大多数switch(交换机)需要经过特定配置才能支持802.3ad模式

     

    第六种模式:mod=5,即:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡)

    特点:不需要任何特别的switch(交换机)支持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。

    该模式的必要条件:ethtool支持获取每个slave的速率

     

    第七种模式:mod=6,即:(balance-alb) Adaptive load balancing(适配器适应性负载均衡)

    特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。

    来自服务器端的接收流量也会被均衡。当本机发送ARP请求时,bonding驱动把对端的IP信息从ARP包中复制并保存下来。当ARP应答从对端到达 时,bonding驱动把它的硬件地址提取出来,并发起一个ARP应答给bond中的某个slave。使用ARP协商进行负载均衡的一个问题是:每次广播 ARP请求时都会使用bond的硬件地址,因此对端学习到这个硬件地址后,接收流量将会全部流向当前的slave。这个问题可以通过给所有的对端发送更新 (ARP应答)来解决,应答中包含他们独一无二的硬件地址,从而导致流量重新分布。当新的slave加入到bond中时,或者某个未激活的slave重新 激活时,接收流量也要重新分布。接收的负载被顺序地分布(round robin)在bond中最高速的slave上

    当某个链路被重新接上,或者一个新的slave加入到bond中,接收流量在所有当前激活的slave中全部重新分配,通过使用指定的MAC地址给每个 client发起ARP应答。下面介绍的updelay参数必须被设置为某个大于等于switch(交换机)转发延时的值,从而保证发往对端的ARP应答 不会被switch(交换机)阻截。

    必要条件:

    条件1:ethtool支持获取每个slave的速率;

    条件2:底层驱动支持设置某个设备的硬件地址,从而使得总是有个slave(curr_active_slave)使用bond的硬件地址,同时保证每个bond 中的slave都有一个唯一的硬件地址。如果curr_active_slave出故障,它的硬件地址将会被新选出来的 curr_active_slave接管

    其实mod=6与mod=0的区别:mod=6,先把eth0流量占满,再占eth1,….ethX;而mod=0的话,会发现2个口的流量都很稳定,基本一样的带宽。而mod=6,会发现第一个口流量很高,第2个口只占了小部分流量

    小结:

    mode 1、5、6不需要交换机设置

    mode 0、2、3、4需要交换机设置

    缺省使用mode 0

    二:案例一mode=1(active-backup):一个网卡处于活动状态 ,一个处于备份状态,所有流量都在主链路上处理。当活动网卡down掉时,启用备份的网卡。

    1:[root@lyt ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0           #编辑该设备eth0如图:

    image

    [root@lyt ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1            #编辑该设备eth1 如图:

    image

    2:[root@lyt ~]# cd /etc/sysconfig/network-scripts/

    [root@lyt network-scripts]# cp ifcfg-eth0  ifcfg-bond0        #生成一个bond0的虚拟网卡

    [root@lyt network-scripts]# vim ifcfg-bond0        #编辑该网卡内容

    image

    3:[root@lyt network-scripts]# vim /etc/modprobe.conf       #编辑该配置文件

    下图中1表示系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0;miimon=100表示系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线

    路;mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。

    image

    cat /boot/config-2.6.32-431.el6.x86_64 | grep -i bonding  

    CONFIG_BONDING=m          # 这里可以看出bonding驱动编译成可以动态加载的内核模块

    4:[root@lyt network-scripts]# vim /etc/rc.local        #编辑该开机脚本,将eth0和eth1网卡进行绑定

    image

    5:[root@lyt network-scripts]# init 6       #重启,bond0启动成功

    image

    [root@lyt ~]# ifconfig      #查看网卡信息,在此处三块网卡的mac地址是一样的

    image

    [root@lyt ~]#vim /proc/net/bonding/bond0      #查看模式及网卡信息。实际mac地址是不一样的

    image

    测试:

    6:Xshell:\> ping 192.168.101.50  –t      #一直测试网络的连通性查看结果

    断掉eth0网卡后显示结果

    image

    将网卡eth0断掉后,系统使用备份网卡eth1,此时eth1处于活动状态

    image

    案例二:mode=0(round robin):所有链路处于负载均衡状态,这模式的特点增加了带宽,同时支持容错能力。

    1:在案例一的基础上,只需要修改/etc/modprobe.conf 配置文件:如图:

    image

    2:vim /proc/net/bonding/bond0        #查看使用的模式及网卡信息,如图:

    image 

    测试:mode=0:

    3:Xshell:\> ping 192.168.101.50 –t #一直测试网络的连通性查看结果

    将网卡eth1断掉后,系统依然可以ping通

    image

     

    image

     

    bonding模式1配置


    1


    2


    3


    4


    5


    6


    7

    #  具体操作步骤就下面这步不同,其它一致。

    vim /etc/modprobe.d/bond.conf   

    alias bond0 bonding

    options bond0 miimon=100 mode=1    # 模式1

     

    vim /etc/rc.d/rc.local   # eth0 eth1的工作顺序(仅在主备模式下)

    ifenslave bond0 eth0 eth1

    注:在高可用的环境下,网卡配置bonding后,vip_nic要为bond0

     

     

    bonding模式4配置


    1


    2


    3


    4

    #  具体操作步骤就下面这步不同,其它一致。

    vim /etc/modprobe.d/bond.conf   

    alias bond0 bonding

    options bond0 miimon=100 mode=4 lacp_rate=1    # 模式4

     

    盛科交换机的lacp配置参考:http://pan.baidu.com/s/1o8rL6II 《二层转发保护》

    注意的是:交换机和服务器连接的那块要配置动态的channel-group

     

    bond4下启动vlan子接口


    1


    2


    3


    4


    5


    6


    7


    8


    9


    10


    11


    12


    13


    14


    15


    16


    17

    # 永久加载8021q module

    cat /etc/sysconfig/modules/8021q.modules << EOF

    \#\!/bin/sh

    if [ ! `lsmod | grep 8021q` ] ; then

            exec /sbin/modprobe 8021q >/dev/null 2>&1

    fi

    EOF

     

    modprobe 8021q # 加载模块

    vim  /etc/sysconfig/network-scripts/ifcfg-bond0.110  # vlan子接口,发出去的包是带有vlan tag 110的

    DEVICE=bond0.110          # vlan子接口要“.”分隔

    BOOTPROTO=none

    ONBOOT=yes

    USERCTL=no

    VLAN=yes                  # 写配置文件,就不要安装vconfig来配置vlan子接口

    IPADDR=192.168.110.3

    PREFIX=24

     

     

    bond4结合OpenStack ovs flat vlan模式


    1


    2


    3


    4


    5


    6


    7


    8


    9


    10


    11


    12


    13


    14


    15


    16


    17


    18


    19


    20


    21


    22


    23


    24


    25


    26


    27


    28


    29


    30


    31


    32

    1、 采用linux bridge

        brctl addbr br-bond

        brctl addif br-bond bond0

        ifconfig br-bond 192.168.1.4/24   # 这样配置是可以通的

         

    2、 采用openvswitch

        ovs-vsctl add-br br-bond

        ovs-vsctl add-port br-bond bond0

        ifconfig br-bond 192.168.1.4/24   # 这样配置是不通的

         

        如果进行如下操作,网络是可以通的

        brctl addbr br-bond

        brctl addif br-bond bond0

        ifconfig br-bond 192.168.1.4/24  # 管理ip地址配置linux bridge上,不是配置在br-data上

         

        ovs-vsctl add-br br-data            # 创建一个br-data

        ovs-vsctl add-port br-data br-bond  # br-bond作为ovs bridge的一个port,不然计算节点下的虚拟机网络不通

         

        [root@sha-cloud002 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br-bond  # br-data配置文件如下

        DEVICE=br-bond

        IPADDR=10.10.10.12

        NETMASK=255.255.255.0

        ONBOOT=yes

        NM_CONTROLLED="no"

        BOOTPROTO=none

        TYPE=Bridge

        DELAY=0  # prevent it waiting on interface start

         

    # 这里需要注意一下,如果是hp刀片服务器,网卡做bond后划vlan子接口才能

    和上端交换机通信。这时候配置需要调整下

        ovs-vsctl add-port br-data eth0.470(举例vlan id:470)

        ovs-vsctl set Port eth0.470 tag=470(打了tag后相当于access口,access口出去的包是不带vlan id的)

    展开全文
  • Linux 无线网卡配置

    千次阅读 2020-11-12 10:48:19
    Linux网卡配置iwconfig 命令行 iwconfig 命令行 sr@srs:~$ iw dev wlan0 link Connected to b4:fb:e4:75:76:74 (on wlan0) SSID: Seer-Robotics-5G freq: 5180 RX: 118103932 bytes (907474 packets) TX: 351452...

    关闭/开启网卡节能模式

    sr@srs:~$ iw wlan0 set power_save off
    sr@srs:~$ iw wlan0 set power_save on
    

    iwlist

    ## 获取指定网卡搜索的ESSID
    sr@srs:~$ iwlist wlan0 scanning | grep ESSID
                        ESSID:"Seer-Robotics-5G"
                        ESSID:"Seer-Robotics-Guest"
    ##当前网络连接信息
    sr@srs:~$ iw dev
    phy#0
            Unnamed/non-netdev interface
                    wdev 0x2
                    addr 10:f0:05:2b:23:8f
                    type P2P-device
                    txpower 0.00 dBm
            Interface wlan0
                    ifindex 4
                    wdev 0x1
                    addr 10:f0:05:2b:23:8e
                    ssid Seer-Robotics-5G
                    type managed
                    channel 11 (2462 MHz), width: 20 MHz, center1: 2462 MHz
                    txpower 22.00 dBm
    ##指定网卡信息
    sr@srs:~$ iw dev wlan0 info
    Interface wlan0
            ifindex 4
            wdev 0x1
            addr 10:f0:05:2b:23:8e
            ssid Seer-Robotics-5G
            type managed
            wiphy 0
            channel 11 (2462 MHz), width: 20 MHz, center1: 2462 MHz
            txpower 22.00 dBm
    ## 查看指定网卡支持的信道
    sr@srs:~$ sudo iwlist wlan0 channel
    wlan0     32 channels in total; available frequencies :
              Channel 01 : 2.412 GHz
              Channel 02 : 2.417 GHz
    

    ifconfig

    查看当前网卡

    #查看已激活网卡
    sr@srs:~$ ifconfig
    #sr@srs:~$ifconfig -a 查看所有网卡(包括禁用的网卡)
    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.192.5  netmask 255.255.255.0  broadcast 192.168.192.255
            inet6 fe80::4262:31ff:fe07:e310  prefixlen 64  scopeid 0x20<link>
            ether 40:62:31:07:e3:10  txqueuelen 1000  (Ethernet)
            RX packets 31603147  bytes 3192164691 (3.1 GB)
            RX errors 0  dropped 130739  overruns 0  frame 0
            TX packets 15369686  bytes 1111067693 (1.1 GB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    
    

    禁用指定网卡(重启后无效)

    sr@srs:~$ sudo ifconfig wlan0 down
    

    激活指定网卡

    sr@srs:~$ sudo ifconfig wlan0 on
    

    开启/关闭网卡功耗

    sr@srs:~$ iw wlan0 get power_save  #查看当前网卡功耗
    Power save: on
    sr@srs:~$ sudo ifconfig wlan0 on  #开启低功耗
    sr@srs:~$ sudo ifconfig wlan0 off  #关闭低功耗
    

    iwconfig

    iwconfig仅支持wep, wpa_supplicant支持wep、wpa、wpa2等完整的加密认证

    查看指定网卡详细信息

    sr@srs:~$ iw wlan0 info
    Interface wlan0
            ifindex 4
            wdev 0x1
            addr 10:f0:05:2b:23:8e
            ssid SEER-GROUP
            type managed
            wiphy 0
            channel 40 (5200 MHz), width: 40 MHz, center1: 5190 MHz
            txpower 22.00 dBm
    
    sr@srs:~$ sudo iwconfig wlan0
    wlan0     IEEE 802.11  ESSID:"Seer-Robotics-5G"
              Mode:Managed  Frequency:2.462 GHz  Access Point: B4:FB:E4:74:76:74
              Bit Rate=1 Mb/s   Tx-Power=22 dBm
              Retry short limit:7   RTS thr:off   Fragment thr:off
              Encryption key:off
              Power Management:on
              Link Quality=62/70  Signal level=-48 dBm
              Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
              Tx excessive retries:0  Invalid misc:2600   Missed beacon:0
    

    查看指定网卡连接信息

    sr@srs:~$ iw dev wlan0 link
    Connected to b4:fb:e4:75:76:74 (on wlan0)
            SSID: Seer-Robotics-5G
            freq: 5180
            RX: 118103932 bytes (907474 packets)
            TX: 351452 bytes (3539 packets)
            signal: -74 dBm
            tx bitrate: 57.8 MBit/s VHT-MCS 5 short GI VHT-NSS 1
    
            bss flags:      short-slot-time
            dtim period:    3
            beacon int:     100
            
    ##当前连接的信息
    sr@srs:~$ iwconfig
    lo        no wireless extensions.
    
    wlan0     IEEE 802.11  ESSID:"SEER-GROUP"
              Mode:Managed  Frequency:5.2 GHz  Access Point: 68:D7:9A:3E:6C:E1
              Bit Rate=180 Mb/s   Tx-Power=22 dBm
              Retry short limit:7   RTS thr:off   Fragment thr:off
              Power Management:on
              Link Quality=51/70  Signal level=-59 dBm
              Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
              Tx excessive retries:0  Invalid misc:28783   Missed beacon:0
    
    eth0      no wireless extensions.
    
    eth1      no wireless extensions.
    
    zt3jntlp2c  no wireless extensions.
    

    用法: iwconfig interface [essid {NN|on|off}]
    [nwid {NN|on|off}]
    [mode {managed|ad-hoc|…}
    [freq N.NNNN[k|M|G]]
    [channel N]
    [ap {N|off|auto}]
    [sens N]
    [nick N]
    [rate {N|auto|fixed}]
    [rts {N|auto|fixed|off}]
    [frag {N|auto|fixed|off}]
    [enc {NNNN-NNNN|off}]
    [power {period N|timeout N}]
    [retry {limit N|lifetime N}]
    [txpower N {mW|dBm}]
    [commit]

    说明:iwconfig是LWE最主要的工具,可以对无线网卡的大部分参数进行配置。

    参数:
    essid:设置无线网卡的ESSID(Extension Service Set ID)。通过ESSID来区分不同的无线网络,正常情况下只有相同ESSID的无线站点才可以互相通讯,除非想监听无线网络。其后的参数为双引号括起的ESSID字符串,或者是any/on/off,如果ESSID字符串中包含any/no/off,则需要在前面加"–"。

    示例:
    #iwconfig eth0 essid any 允许任何ESSID,也就是混杂模式
    #iwconfig eth0 essid “My Network” 设置ESSID为"My Network"
    #iwconfig eth0 essid – “ANY” 设置ESSID为"ANY"

    nwid: Network ID,只用于pre-802.11的无线网卡,802.11网卡利用ESSID和AP的MAC地址来替换nwid,现在基本上不用设置。

    示例:
    #iwconfig eth0 nwid AB34
    #iwconfig eth0 nwid off

    nick: Nickname,一些网卡需要设置该参数,但是802.11协议栈、MAC都没有用到该参数,一般也不用设置。

    示例:
    #iwconfig eth0 nickname “My Linux Node”

    mode:设置无线网卡的工作模式,可以是
    Ad-hoc:不带AP的点对点无线网络
    Managed:通过多个AP组成的网络,无线设备可以在这个网络中漫游
    Master:设置该无线网卡为一个AP
    Repeater:设置为无线网络中继设备,可以转发网络包
    Secondary:设置为备份的AP/Repeater
    Monitor:监听模式
    Auto:由无线网卡自动选择工作模式

    示例:
    #iwconfig eth0 mode Managed
    #iwconfig eth0 mode Ad-Hoc

    freq/channel:设置无线网卡的工作频率或者频道,小于1000的参数被认为是频道,大于10000的参数被认为是频率。频率单位为Hz,可以在数字后面附带k, M, G来改变数量级,比如2.4G。频道从1开始。使用lwlist工具可以查看无线网卡支持的频率和频道。参数off/auto指示无线网络自动挑选频率。

    注意:如果是Managed模式,AP会指示无线网卡的工作频率,因此该设置的参数会被忽略。Ad-hoc模式下只使用该设定的频率初始无线网络,如果加入已经存在的Ad-hoc网络则会忽略该设置的频率参数。

    示例:
    #iwconfig eth0 freq 2422000000
    #iwconfig eth0 freq 2.422G
    #iwconfig eth0 channel 3
    #iwconfig eth0 channel auto

    ap:连接到指定的AP或者无线网络,后面的参数可以是AP的MAC地址,也可以是iwlist scan出来的标识符。如果是Ad-hoc,则连接到一个已经存在的Ad-hoc网络。使用off参数让无线网卡不改变当前已连接的AP下进入自动模式。any/auto参数,无线网卡自动选择最好的AP。

    注意:如果无线信号低到一定程度,无线网络会进入自动选择AP模式。

    示例:
    #iwconfig eth0 ap 00:60:1D:01:23:45
    #iwconfig eth0 ap any
    #iwconfig eth0 ap off

    rate/bit:如果无线网卡支持多速率,则可以通过该命令设置工作的速率。小于1000的参数由具体的无线网卡驱动定义,一般是传输速率的索引值,大于1000的为速率,单位bps,可以在数字后面附带k, M, G来指定数量级。auto参数让无线网卡自动选择速率。fixed参数让无线网卡不使用自动速率模式。

    示例:
    #iwconfig eth0 rate 11M
    #iwconfig eth0 rate auto
    #iwconfig eth0 rate 5.5M auto //自动选择5.5M以下的速率

    txpower:如果无线网卡支持多发射功率设定,则使用该参数设定发射,单位为dBm,如果指定为W(毫瓦),只转换公式为:

    dBm=30+log(W)。参数on/off可以打开和关闭发射单元,auto和fixed指定无线是否自动选择发射功率。

    示例:
    #iwconfig eth0 txpower 15
    #iwconfig eth0 txpower 30mW
    #iwconfig eth0 txpower auto
    #iwconfig eth0 txpower off

    sens:设置接收灵敏度的下限,在该下限之下,无线网卡认为该无线网络信号太差,不同的网卡会采取不同的措施,一些现代的无线网卡会自动选择新的AP。正的参数为raw data,直接传给无线网卡驱动处理,一般认为是百分比。负值表示dBm值。

    示例:
    #iwconfig eth0 sens -80 *需网卡支持
    #iwconfig eth0 sens 2 *需网卡支持

    retry:设置无线网卡的重传机制。limit ‘value’ 指定最大重传次数;lifetime ‘value’指定最长重试时间,单位为秒,可以附带m和u来指定单位为毫秒和微秒。如果无线网卡支持自动模式,则在limit和lifetime之前还可以附加min和max来指定上下限值。

    示例:
    #iwconfig eth0 retry 16
    #iwconfig eth0 retry lifetime 300m
    #iwconfig eth0 retry min limit 8

    rts:指定RTS/CTS握手方式,使用RTS/CTS握手会增加额外开销,但如果无线网络中有隐藏无线节点或者有很多无线节点时可以提高性能。后面的参数指定一个使用该机制的最小包的大小,如果该值等于最大包大小,则相当于禁止使用该机制。可以使用auto/off/fixed参数。

    示例:
    #iwconfig eth0 rts 250
    #iwconfig eth0 rts off

    frag:设置发送数据包的分片大小。设置分片会增加额外开销,但在噪声环境下可以提高数据包的到达率。一般情况下该参数小于最大包大小,有些支持Burst模式的无线网卡可以设置大于最大包大小的值来允许Burst模式。还可以使用auto/fixed/off参数。

    示例:
    #iwconfig eth0 frag 512
    #iwconfig eth0 frag off

    key/enc[ryption]:设置无线网卡使用的加密密钥,此处为设置WEP模式的加密key,如果要使用WPA,需要wpa_supplicant工具包。密钥参数可以是 XXXX-XXXX-XXXX-XXXX 或者 XXXXXXXX 格式的十六进制数值,也可以是s:xxxxxx的ASCII字符。如果在密钥参数之前加了[index],则只是设置该索引值对应的密钥,并不改变当前的密钥。直接指定[index]值可以设置当前使用哪一个密钥。指定on/off可以控制是否使用加密模式。open/restricted指定加密模式,取决于不同的无线网卡,大多数无线网卡的open模式不使用加密且允许接收没有加密的数据包,restricted模式使用加密。可以使用多个key参数,但只有最后一个生效。WEP密钥可以是40bit,用10个十六进制数字或者5个ASCII字符表示,也可以是128bit,用26个十六进制数字或者13个ASCII字符表示。

    示例:
    #iwconfig eth0 key 0123-4567-89
    #iwconfig eth0 key [3] 0123-4567-89
    #iwconfig eth0 key s:password [2]
    #iwconfig eth0 key [2]
    #iwconfig eth0 key open
    #iwconfig eth0 key off
    #iwconfig eth0 key restricted [3] 0123456789
    #iwconfig eth0 key 01-23 key 45-67 [4] key [4]

    power:设置无线网卡的电源管理模式。period ‘value’ 指定唤醒的周期,timeout ‘value’指定进入休眠的等待时间,这两个参数之前可以加min和max修饰,这些值的单位为秒,可以附加m和u来指定毫秒和微秒。off/on参数指定是否允许电源管理,all/unicast/multicast指定允许唤醒的数据包类型。

    示例:
    #iwconfig eth0 power period 2
    #iwconfig eth0 power 500m unicast
    #iwconfig eth0 power timeout 300u all
    #iwconfig eth0 power off
    #iwconfig eth0 power min period 2 power max period 4

    commit:提交所有的参数修改给无线网卡驱动。有些无线网卡驱动会先缓存无线网卡参数修,使用这个命令来让无线网卡的参数修改生效。不过一般不需要使用该命令,因为无线网卡驱动最终都会是参数的修改生效,一般在debug时会用到。为了方便配置,可以把配置写到 /etc/network/interfaces中,这样以后就不用反复配置了。

    auto lo
    iface lo inet loopback
    auto eth1
    iface eth1 inet static
    address 192.168.1.3
    netmask 255.255.255.0
    gateway 192.168.1.1
    echo nameserver 192.168.1.1>/etc/resolv.conf
    pre-up /sbin/iwconfig eth1 essid “LW HOME LINK”
    pre-up /sbin/iwconfig eth1 key s:liwei

    auto usb0
    iface usb0 inet static
    address 192.168.0.200
    netmask 255.255.255.0
    auto dsl-provider
    iface dsl-provider inet ppp
    pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
    provider dsl-provider

    wpa_supplicant

    wpa_supplicant是wifi客户端(client)加密认证工具,和iwconfig不同,wpa_supplicant支持wep、wpa、wpa2等完整的加密认证,而iwconfig只能支持wep。
    和wpa_supplocant相对应的,ap端的加密认证工具为hostapd。
    wpa_supplicant运行于后台,它需要借助控制台工具wpa_cli来进行手动操作。
    开发文档: http://w1.fi/wpa_supplicant/wpa_supplicant-devel.pdf

    获取当前网卡的 AP 列表

    ## 获取 SSID 列表及MAC地址等
    sr@srs:~$ sudo wpa_cli -i wlan0 scan
    [sudo] password for sr:
    OK
    sr@srs:~$ sudo wpa_cli -i wlan0 scan_results
    bssid / frequency / signal level / flags / ssid
    ec:89:14:f0:5a:e8       5765    -71     [WPA2-PSK-TKIP][ESS]    RTL8186-default
    ec:89:14:20:5a:e8       5805    -63     [WPA2-PSK-CCMP][WPS][ESS]       AGV_TEST_5G
    ec:89:14:20:5a:e5       2412    -41     [WPA2-PSK-CCMP][ESS]    \x00\x00\x00\x00\x00\x00\x                     00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00                     \x00\x00\x00
    ec:89:14:20:5a:e4       2412    -43     [WPA2-PSK-CCMP][WPS][ESS]       AGV_TEST
    

    切换AP

    #iwconfig 中的切换AP需要网卡支持
    sr@srs:~$ sudo wpa_cli -i wlan0 roam B4:FB:E4:75:76:74
    OK
    

    执行:

    /system/bin/wpa_supplicant -d -Dwext -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf
    

    -d :增加调试信息
    -Dwext :wext,驱动名称
    -iwlan0 :wlan0,网络接口名称
    /system/bin/wpa_supplicant :wpa_supplicant可执行程序path
    /data/misc/wifi/wpa_supplicant.conf :wpa_supplicant的配置文件path

    运行命令行工具 wpa_cli

    执行

    wpa_cli -iwlan0 -p/data/system/wpa_supplicant
    

    注,-p/data/system/wpa_supplicant中的wpa_supplicant并不是可执行程序,而是控制套接字。
    此时会进入交互模式。其中交互模式的命令如下表:

    Full commandShort commandDescription
    statusstatdisplays the current connection status
    disconnectdiscprevents wpa_supplicant from connecting to any access point
    quitqexits wpa_cli
    terminatetermkills wpa_supplicant
    reconfigurereconreloads wpa_supplicant with the configuration file supplied (-c parameter)
    scanscanscans for available access points (only scans it, doesn’t display anything)
    scan_resultscan_rdisplays the results of the last scan
    list_networkslist_ndisplays a list of configured networks and their status (active or not, enabled or disabled)
    select_networkselect_nselect a network among those defined to initiate a connection (ie select_network 0)
    enable_networkenable_nmakes a configured network available for selection (ie enable_network 0)
    disable_networkdisable_nmakes a configured network unavailable for selection (ie disable_network 0)
    remove_networkremove_nremoves a network and its configuration from the list (ie remove_network 0)
    add_networkadd_nadds a new network to the list. Its id will be created automatically
    set_networkset_nshows a very short list of available options to configure a network when supplied with no parameters.See next section for a list of extremely useful parameters to be used with set_network and get_network.
    get_networkget_ndisplays the required parameter for the specified network. See next section for a list of parameters
    save_configsave_csaves the configuration

    设置网络格式

    set_network <network id> <key> <parameter> [<parameter>]
    

    显示网络信息的基本格式

    get_network <network id> <key>
    

    相应的参数如下表:

    KeyDescriptionParameters
    ssidAccess point namestring
    id_strString identifying the networkstring
    priorityConnection priority over other APsnumber (0 being the default low priority)
    bssidMac address of the access pointmac address
    scan_ssidEnable/disbale ssid scan0, 1, 2
    key_mgmtType of key managementWPA-PSK, WPA_EAP, None
    pairwisePairwise ciphers for WPACCMP, TKIP
    group=TKIPGroup ciphers for WPACCMP, TKIP, WEP104, WEP40
    pskPre-Shared Key (clear or encrypted)string
    wep_key0WEP key (up to 4: wep_key[0123])string
    eapExtensible Authentication ProtocolMD5, MSCHAPV2, OTP, GTC, TLS, PEAP, TTLS
    identityEAP identity stringstring
    passwordEAP passwordstring
    ca_certPathname to CA certificate file/full/path/to/certificate
    client_certPathname to client certificate/full/path/to/certificate (PEM/DER)
    private_keyPathname to a client private key file/full/path/to/private_key (PEM/DER/PFX)

    连接无加密的AP

    >add_network  (It will display a network id for you, assume it returns 0)
    >set_network 0 ssid "666"
    >set_network 0 key_mgmt NONE
    >enable_network 0
    >quit
    

    连接WEP加密AP

    >add_network   (assume return 1)
    >set_network 1 ssid "666"
    >set_network 1 key_mgmt NONE
    >set_network 1 wep_key0 "your ap password"
    >enable_network 1
    

    连接WPA-PSK/WPA2-PSK加密的AP

    >add_network   (assume return 2)
    >set_network 2 ssid "666"
    >set_network 2 psk "your pre-shared key"
    >enable_network 2
    

    以上是通过命令行工具wpa_cli来实现wifi网络的连接。当然,也可以通过wpa_supplicant的配置文件来实现连接。
    再回顾下运行wpa_supplicant时执行的命令:

    /system/bin/wpa_supplicant -d -Dwext -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf
    

    我们在执行时加上了-c/data/misc/wifi/wpa_supplicant.conf,我们可以将我们要连接的AP的设置以一定的格式写入wpa_supplicant.conf配置文件中即可。

    ctrl_interface=DIR=/data/system/wpa_supplicant GROUP=system update_config=1

    network={
    ssid="my access point"
    proto=WPA
    key_mgmt=WPA-PSK
    psk="you pass words"
    }
    

    Linux 网络配置(nmcli)

    https://blog.csdn.net/u012020854/article/details/101052251

    ubuntu18.04 安装

    https://blog.csdn.net/u012020854/article/details/86551504

    ubuntu18.04 卡死

    https://blog.csdn.net/u012020854/article/details/106091636

    ubuntu18.04 常用指令

    https://blog.csdn.net/u012020854/article/details/101032734

    ubuntu18.04 添加自定义分辨率

    https://blog.csdn.net/u012020854/article/details/103787492

    展开全文
  • linux下ixgbe网卡应【转载】

    千次阅读 2015-04-27 18:26:35
    linux下ixgbe网卡应用点滴 1. 兼容光模块 ixgbe光纤网卡的驱动在默认情况下不支持第三方兼容光模块,会导致网卡驱动加载失败,表现为,执行lspci |grep 82599能看到网卡在pci设备中 06:00.0 Ethernet...

    linux下ixgbe网卡应用点滴


    1. 兼容光模块

    ixgbe光纤网卡的驱动在默认情况下不支持第三方兼容光模块,会导致网卡驱动加载失败,表现为,执行lspci |grep 82599能看到网卡在pci设备中

    06:00.0 Ethernet controller: Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection (rev 01)
    06:00.1 Ethernet controller: Intel Corporation 82599EB 10-Gigabit SFI/SFP+ Network Connection (rev 01)

    但是使用ifconfig -a命令,却找不到网卡,使用demsg可以看到以下出错信息:

    ixgbe 0000:06:00.0: failed to load because an unsupported SFP+ module type was detected

    解决问题的方法是,执行rmmod ixgbe,卸载掉驱动,然后执行

    modprobe ixgbe allow_unsupported_sfp=1,1 

    驱动对allow_unsupported_sfp的解释为:

    allow_unsupported_sfp:Allow unsupported and untested SFP+ modules on 82599-based adapters (uint)

    重新加载后,大部分情况下ifconfig就能够看到网卡信息了。


    2. RSS队列设置

    RSS(receive side scaling)是有微软提出的一种负载分流方法,能够将网卡的流分配到不同的队列中,再由不同的cpu核来处理,通过这项技术能够将网络流量分载到多个cpu上,降低单个cpu的占用率。默认情况下,每个cpu核对应一个rss队列。ixgbe驱动将收到的数据包的源、目的ip地址和端口号,交由网卡硬件计算出一个rss hash值,再根据这个hash值来决定将数据包分配到哪个队列中。通过cat /proc/interrupts |grep 网卡名的方式,就可以看到网卡使用了几个rss通道。

    加载ixgbe时,也可以通过命令行来决定rss通道的个数:

    modprobe ixgbe MQ=1,1 RSS=8,8

    其中,MQ的含义为:

    MQ:Disable or enable Multiple Queues, default 1 (array of int)

    是否使用多队列,其中对于多个网口的情况,使用数组来表示针对每个网口的配置

    RSS:Number of Receive-Side Scaling Descriptor Queues, default 0=number of cpus (array of int)


    3. RSS的均中断

    可以参照 http://blog.csdn.net/vah101/article/details/38615795

    对于redhat或者centos用户,除了可以命令行操作,还可以使用tuna配置网卡队列的中断亲和性、进程的cpu亲和性。tuna的界面如图所示:



    再有一个简单的方法,就是执行ixgbe网卡驱动包里面的scripts目录下的脚本set_irq_affinity.sh,killall irqbalance 杀掉irqbalance,再执行:

    [root@111 scripts]# sh set_irq_affinity.sh eth2
     WARNING: irqbalance is running and will
              likely override this script's affinitization.
              Please stop the irqbalance service and/or execute
              'killall irqbalance'
    eth2 mask=1 for /proc/irq/183/smp_affinity
    eth2 mask=2 for /proc/irq/184/smp_affinity
    eth2 mask=4 for /proc/irq/185/smp_affinity
    eth2 mask=8 for /proc/irq/186/smp_affinity
    eth2 mask=10 for /proc/irq/187/smp_affinity
    eth2 mask=20 for /proc/irq/188/smp_affinity
    eth2 mask=40 for /proc/irq/189/smp_affinity
    eth2 mask=80 for /proc/irq/190/smp_affinity
    eth2 mask=100 for /proc/irq/191/smp_affinity
    eth2 mask=200 for /proc/irq/192/smp_affinity
    eth2 mask=400 for /proc/irq/193/smp_affinity
    eth2 mask=800 for /proc/irq/194/smp_affinity
    eth2 mask=1000 for /proc/irq/195/smp_affinity
    eth2 mask=2000 for /proc/irq/196/smp_affinity
    eth2 mask=4000 for /proc/irq/197/smp_affinity
    eth2 mask=8000 for /proc/irq/198/smp_affinity
    eth2 mask=10000 for /proc/irq/199/smp_affinity
    eth2 mask=20000 for /proc/irq/200/smp_affinity
    eth2 mask=40000 for /proc/irq/201/smp_affinity
    eth2 mask=80000 for /proc/irq/202/smp_affinity
    eth2 mask=100000 for /proc/irq/203/smp_affinity
    eth2 mask=200000 for /proc/irq/204/smp_affinity
    eth2 mask=400000 for /proc/irq/205/smp_affinity
    eth2 mask=800000 for /proc/irq/206/smp_affinity

    结果就是将eth2的中断依次的绑定到不同的cpu核上


    4. RSS的高级配置

    (1)ixgbe网卡RSS hash值的计算方法可以参考82599_datasheet_rev_2_0.pdf,可以从ftp://ftp.pku.edu.cn/open/net/Intel-NIC/doc/82599_Datasheet_rev_2_0.pdf下载。

    其rss hash值的计算方法存在一个问题,就是对于同一个流的收、发这两个方向的数据包的rss hash值是不同的,也就是同一个流的两个方向的数据包会被分流到不同的队列中,为了解决这个问题,有人提出了修改RSS random key register(RSSRK),将其改为重复的16个bit,来获取对称的结果,方法如http://www.hiyoufu.com/?p=33这篇博文所示。

    (2)默认情况下,是数据包的四元组参与计算哈希值,但是针对特殊的需要,通过ethtool -N命令可以配置参与计算的元组,ethtool的帮助上有这么一句话:

    rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|tcp6|udp6|ah6|esp6|sctp6 
       m|v|t|s|d|f|n|r...
    其中:

    f   Hash on bytes 0 and 1 of the Layer 4 header of the rx packet.
    n   Hash on bytes 2 and 3 of the Layer 4 header of the rx packet.
    对于udp协议来说f、n为源端口、目的端口,s、d为源ip、目的ip

    检查当前系统上对udp协议的hash方式,可以执行如下命令:

    root@111#ethtool -n eth2 rx-flow-hash udp4
    TCP over udp4 flows use these fields for computing Hash flow key:
    IP SA
    IP DA
    L4 bytes 0 & 1 [TCP/UDP src port]
    L4 bytes 2 & 3 [TCP/UDP dst port]

    使用如下命令,可以改变hash的计算方式:

    [root@111]# ethtool -N eth2 rx-flow-hash udp4 sd
    [root@111]# ethtool -n eth2 rx-flow-hash udp4 
    UDP over IPV4 flows use these fields for computing Hash flow key:
    IP SA
    IP DA

    使用这种方法,可以改变RSS通道的分配方法


    (3)Ethernet Flow Director包控制

    注意,低版本的ethtool可能不支持,centos6.4上的3.5版本可以支持。最新的ethtool可以从http://ftp.kernel.org/pub/software/network/ethtool/下载

    可以根据用户配置的策略将符合特定策略的数据包与相应的队列绑定在一起,也可以将符合特定策略的包丢掉

    要使用这个功能首先要执行:

    ethtool -K eth2 ntuple on (否则,就会报错rmgr: Cannot insert RX class rule: Operation not supported)

    通过如下命令配置:

    ethtool -N  DEVNAME flow-type ether|ip4|tcp4|udp4|sctp4|ah4|esp4
    [ src %x:%x:%x:%x:%x:%x [m %x:%x:%x:%x:%x:%x] ]
    [ dst %x:%x:%x:%x:%x:%x [m %x:%x:%x:%x:%x:%x] ]
    [ proto %d [m %x] ]
    [ src-ip %d.%d.%d.%d [m %d.%d.%d.%d] ]
    [ dst-ip %d.%d.%d.%d [m %d.%d.%d.%d] ]
    [ tos %d [m %x] ]
    [ l4proto %d [m %x] ]
    [ src-port %d [m %x] ]
    [ dst-port %d [m %x] ]
    [ spi %d [m %x] ]
    [ vlan-etype %x [m %x] ]
    [ vlan %x [m %x] ]
    [ user-def %x [m %x] ]
    [ action %d ]
    [ loc %d]] |
    delete %d


    比如,要将192.168.100.1发来的包丢掉,使用如下命令:

    [root@111]# ethtool --config-ntuple eth2 flow-type ip4 src-ip 192.168.100.1  action -1

    可以通过这种方法将攻击流量直接过滤掉

    将源端口为80的数据流,绑定到队列2:

    [root@111]# ethtool --config-ntuple eth2 flow-type tcp4 src-port 80  action 2

    [root@111]# ethtool --config-ntuple eth2 flow-type udp4 src-port 80  action 2

    其中,action指的是网卡的队列序号,其中-1指丢弃。网卡的队列编号可以通过cat /proc/interrupts|grep ethX来查看,默认情况下就是cpu的核数。

    另外,通过将不同端口绑定到不同的队列,可以将网卡的软中断分散,减少单核的cpu占用。(这主要是由于RSS队列最大只有16个,但是flow director的队列为cpu核数,一般服务使用的双志强cpu,核数可能要大于16)

    要注意,flow director只支持对同一个域的过滤,即第一次对src-port过滤,后面加入的规则只能针对src-port,否则会包错:

    rmgr: Cannot insert RX class rule: Invalid argument

    dmesg提示:

    Only one mask supported per port


    5. offload配置

    ixgbe提供了一定的offload能力,能够使用网卡板载的硬件处理数据包,从而降低cpu的占用率。

    执行ethtool -k 网口名,就可以看到网卡对应的offload功能:

    Features for eth6:
    rx-checksumming: on
    tx-checksumming: on
    scatter-gather: on
    tcp-segmentation-offload: on
    udp-fragmentation-offload: off
    generic-segmentation-offload: on
    generic-receive-offload: on
    large-receive-offload: on
    rx-vlan-offload: on
    tx-vlan-offload: on
    ntuple-filters: on
    receive-hashing: on

    其中:

    rx-checksumming是计算tcp接收端的校验和,打开此项offload的命令是:ethtool -K ethX rx on,如果此项为off,就无法打开large-receive-offload

    tx-checksumming由网卡硬件计算发送校验和,通过ethtool -K ethX tx on激活

    这两项配置对于数据包长度达到1500字节的大包,比较明显。

    scatter-gather与block DMA方式相对应,能够使内核读取非连续的内存地址空间,使用此项功能能够减少内存的分配、拷贝,达到降低cpu占用率的目的,使用ethtool -K ethX sg开启

    tcp-segmentation-offload用了作tcp分片的offload,将大数据包,比如超过64k的分片为长度为mtu以下的小数据包,激活的命令为 ethtool -K ethX tso on

    large-receive-offload将一系列小包聚合成大包来处理

    generic-segmentation-offload与tcp-segmentation-offload的功能相似,不过是用在ipv6或udp协议上的


    6. 配置内核参数

    禁用时间戳 sysctl -w net.ipv4.tcp_timestamps=0

    配置读缓冲区 sysctl -w net.core.rmem_max=16777216

    配置写缓冲区 sysctl -w net.core.rmem_max=16777216 

    修改SACK and Nagle配置   sysctl -w net.ipv4.tcp_sack=0 

    SACK and Nagle是用来优化tcp连接丢包情况下连接的性能,如果工作的网络环境很好,几乎不存在丢包情况,可以禁用掉SACK and Nagle。其原理说明在:

    http://www.vants.org/?post=74


    展开全文
  • linux下ixgbe网卡应用点滴

    千次阅读 2016-09-08 18:00:01
    ...ixgbe光纤网卡的驱动在默认情况下不支持第三方兼容光模块,会导致网卡驱动加载失败,表现为,执行lspci |grep 82599能看到网卡在pci设备中 06:00.0 Ethernet controller: Intel Corporation
  • Linux-千兆网卡驱动实现机制浅析

    千次阅读 2016-09-21 17:36:51
    网卡作为一个PCI设备,其必须遵守相应的PCI规范,即必须为网卡定义相应的标识号,每个PCI外设由一个总线编号、一个设备编号及一个功能编号来标识。网卡驱动程序则需要定义相应的pci_device_id结构来表示其支持的PCI...
  • s3c2440平台linux2.6.32双网卡驱动

    千次阅读 2010-10-15 20:22:00
    s3c2440平台linux2.6.32双网卡驱动网络设备驱动编写前段时间由于一个工业以太网的需求,需要在S3C2440平台上实现双网卡。其中由DM9000构成的100M网络用于满足作为WEB服务器的需求,另外一路由于直接与设备相连,对...
  • linux 网卡绑定

    千次阅读 2015-11-02 10:20:51
    Redhat Linux的网络配置,基本上是通过修改几个配置文件来实现的,虽然也可以用ifconfig来设置IP,用route来配置默认网关,用hostname来配置主机名,但是重启后会丢失。 相关的配置文件   /ect/hosts 配置主机名...
  • 做防火墙模块的时候遇到过IPv6分片报文处理的问题是,当时的问题是netfilter无法基于传输层的端口拦截IPv6分片报文,但是IPv4的分片报文可以。分析了内核源码得知是因为netfilter的连接跟踪模块重组了IPv4分片报文,...
  • Linux网卡绑定探析

    千次阅读 2014-06-16 14:24:19
    linux操作系统下自带的网卡绑定模式,Linux bonding驱动提供了一个把多个网络接口设备捆绑为单个网络接口设置来使用,用于网络负载均衡及网络冗余。当然现在网卡产商也会出一些针对windows操作系统网卡管理软件来做...
  • linux下无线网卡的ioctl接口

    千次阅读 2014-12-24 13:23:22
    #define SIOCGIWFRAG 0x8B25 /* 获取分片传输的包大小 (bytes)*/ #define SIOCSIWTXPOW 0x8B26 /* 设置传输功率 (dBm) */ #define SIOCGIWTXPOW 0x8B27 /* 获取传输功率(dBm) */ #define ...
  • 网络中校验和比较 2015年10月14日 ...高级的网卡(e1000e等千M网卡)的接收,发送的校验和的计算方法是CRC32。 Refs:http://www.wireshark.org/docs/wsug_html_chunked/ChAdvChecksums.html http://www.in
  • Linux 网卡驱动-1

    2013-05-08 00:41:42
    深入理解Linux网络技术内幕 PartIII  2. Essential Linux Device Driver Chap15  3. Linux 内核源码剖析——TCP/IP 实现  5. rtl8139too.c 2010.4 修订  6. Linux 内核 2.6.33  7. google 当你
  • linux下的双网卡绑定

    2015-01-08 16:34:41
    Linux上双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个结合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。其实这项技术在Sun和...
  • linux 网卡buffer大小

    2018-07-19 16:36:00
    参考截取一部分:... 在linux下可以修改协议栈改变tcp缓冲相关参数: 修改系统套接字缓冲区 echo 65536 > /proc/sys/net/core/rmem_maxecho 256960 > /proc/sys/net/core/wmem_maxecho 655...
  • iwconfig linux 命令行配置无线网卡

    千次阅读 2012-05-27 23:41:49
      iwconfig是Linux Wireless Extensions(LWE)的用户层配置工具之一。LWE是Linux下对无线网络配置的工具,包括内核的支持、用户层配置工具和驱动接口的支持三部分。目前很多无线网卡都支持LWE,而且主流的Linux
  • 网卡绑定技术较早在各个主机操作系统引入,如HP-UNIX的APA、IBM的EtherChannel,linux上也有对应bond技术。通过双网卡绑定,一方面利用主备网卡自动切换可以提高网络接入的高可用能力,另一方面双网卡bond部分模式...
  • linux 网络重组 分片 gso lro

    千次阅读 2016-08-14 16:18:23
    MSS: Maxitu Segment Size 最大分段大小 它是tcp数据包每次能够传输的最大数据分段.为了达到最佳的传输效能,tcp 协议在建立连接的时候通常要协商双方的MSS值,这个值一般是减去ip头和tcp头
  • Linux版本: 3.10.103 网卡驱动: ixgbe 报文收发简单流程 网卡驱动默认采用的是NAPI的报文处理方式。即中断+轮询的方式,网卡收到一个报文之后会产生接收中断,并且屏蔽中断,直到收够了netdev_max_backlog个报文...
  • 【转帖LINUX】IP分片重组分析

    千次阅读 2010-02-11 22:41:00
    msn: yfydz_no1@hotmail.com来源:http://yfydz.cublog.cn1. 前言 对IP碎片的重组是防火墙提高安全性的一个重要手段,通过提前进行碎片重组,可以有效防御各种碎片攻击,Linux内核的防火墙netfilter就自动对IP碎片...
  • Linux 网卡特性配置ethtool详解

    千次阅读 2018-07-13 15:17:43
    转发自:https://www.cnblogs.com/danxi/p/6591885.html近期遇到数据传输...ethtool 常用命令如下,比如对eth0的操作:ethtool eth0 //查询ethx网口基本设置,其中 x 是对应网卡的编号,如eth0、eth1等等 ethtool ...
  • Linux内核2.6,网络部分,IP数据报分片与重组
  • 当在外网时,访问服务器路由器分片的iP "192.168.8.107" 时,可以ping通 但服务器访问外网时,比如百度,或者公网资源时 因为有可能使用的网关不同而到时访问不通 添加默认网关 route add default gw 10.189.143...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,766
精华内容 5,506
关键字:

linux分片网卡

linux 订阅