• linux--网络管理-ifconfig,route,netstat,ip,ss,dns,主机名网卡名修改bond


    cat /etc/services

    查看常见端口对应的服务

    查一查某个端口号,是哪个进程在用  lsof  -i :6010  

    49152-65535:动态端口或私有端口,客户端程序随机使用的端口  其范围的定义:

    /proc/sys/net/ipv4/ip_local_port_range    

     TCP 三次握手

    seq是发给对方包的序号,ack是希望对方下次发给我包的序号

    SYN 第一次通信都要有SYN=1,所以只在前两次握手 有SYN

    ACK是对SYN的回应,所以只在后两次有

    sync半连接和accept全连接队列 

    ss –lnt 

    /proc/sys/net/ipv4/tcp_max_syn_backlog 未完成连接队列大小,建议调整大小为1024以上   

    /proc/sys/net/core/somaxconn 完成连接队列大小,建议调整大小为1024以上

    注意:以前老的命令如 ifconfig  route  netstat   都不提倡使用了,提倡使用新包iproute包所安装的一些命令如  ip: object {link, addr, route}, ss, tc 

    ifconfig [interface]    //显示网卡信息,默认只显示激活网卡的信息

    ifconfig -a     //显示所有网卡信息,包括关闭的网卡

    ifconfig IFACE [up|down]       //    ifconfig  eth1  down

    ifconfig interface [aftype] options | address ...         

    ifconfig IFACE IP/NETMASK [up]     //临时设置 ip   ifconfig  eth1  1.1.1.1/24

    ifconfig IFACE IP netmask NETMASK        //  ifconfig  eth1  1.1.1.1 255.255.255.0

    ifconfig  eth1:123  1.1.1.1/24   //临时增加ip,同一块网卡增加了ip

    route 

    查看:route -n

    添加:route add 

    目标:192.168.1.3  网关:172.16.0.1 

        route add -host 192.168.1.3 gw 172.16.0.1 dev eth0

    目标:192.168.0.0 网关:172.16.0.1     

        route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0   

         route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0 

    默认路由,网关:172.16.0.1 

        route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1 

        route add default gw 172.16.0.1

    删除:route del 

        route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]

    目标:192.168.1.3  网关:172.16.0.1 

        route del -host 192.168.1.3

    目标:192.168.0.0 网关:172.16.0.1 

        route del -net 192.168.0.0 netmask 255.255.255.0

    默认路由,网关172.16.0.1 

        route del default gw 172.16.0.1

    netstat

    •  -t: tcp协议相关 
    • -u: udp协议相关 
    • -w: raw socket相关 
    • -l: 处于监听状态 
    • -a: 所有状态 
    • -n: 以数字显示IP和端口 
    • -e:扩展格式 
    • -p: 显示相关进程及PID
    • 显示路由表  netstat -nr

    ip

        ip [ OPTIONS ] OBJECT { COMMAND | help } 

        OBJECT := { link | addr | route } 

        ip addr 查看所有网卡所有地址

        ip addr  add  1.1.1.1/24 dev eth1    给eth1网卡增加其他的ip,是增加啊

        ip addr  add  1.1.1.1/24 dev eth1 label eth1:123    给eth1网卡增加其他的ip,并且起个别名eth1:123

        ip addr del   1.1.1.1/24 dev  eth1    删除eth1网卡上的1.1.1.1 ip 

        ip  a   flush  dev  eth1    清除eth1上的所有ip

        ip  link  set  eth1  down    把网卡关掉

        ip  link  set  eth1  name  eth100   修改网卡名称,需要先把网卡关掉

    ip route add 192.168.0.0/24 via 172.16.0.1   

    ip route add 192.168.1.13 via 172.16.0.1

    ip route add  default via 172.16.0.1   //添加默认路由

        ip route del 192.168.0.0/24 via 172.16.0.1    //删除路由

        ip route flush [dev IFACE]  [via PREFIX]   //清空路由表

                  ip route flush dev eth0 

    linux想启用路由转发功能(当路由器)

    修改内核参数   /proc/sys/net/ipv4/ip_forward  1为启用

    路由的 Metric值表示 “花钱”,值越大,花钱越大,所以系统会挑花钱少的路走,比如有两条默认路由,那么Metric值小的路由生效。添加路由时,可以加上metric 参数,指定Metric值  

    ss  socket statistics

    格式:ss [OPTION]... [FILTER] 

    • -t: tcp协议相关 
    • -u: udp协议相关 
    • -w: 裸套接字相关 
    • -x:unix sock相关 
    • -l: listen状态的连接 
    • -a: 所有   显示处在listening 和 非listening 状态的套接字
    • -n: 数字格式
    • -r :解析数字地址/端口  
    • -p: 相关的程序及PID 
    • -e: 扩展的信息 
    • -m:内存用量 
    • -o:计时器信息 

    FILTER :  [ state TCP-STATE ] [ EXPRESSION ] 

    常见连接状态

    • LISTEN: 监听   
    • ESTABLISHED:已建立的连接   
    • FIN_WAIT_1   
    • FIN_WAIT_2   
    • SYN_SENT   
    • SYN_RECV   
    • CLOSED
    • connected – All the states except for listen and closed 

       ss -t4 state time-wait   列出处在 time-wait 状态的 IPv4 套接字 

       ss -nt state connected dport = :80     显示对方端口是 80的套接字

     EXPRESSION

      示例:’( dport = :ssh or sport = :ssh )’ 

      ss -at '( dport = :ssh or sport = :ssh )'    显示所有源端口或目的端口为 ssh 的套接字

      ss -o state established '( dport = :http or sport = :http )'   显示所有已建立 的HTTP连接 

    匹配远程地址和端口号

        ss dst 192.168.25.100

        ss dst 192.168.25.100:50460

    匹配本地地址和端口号

         ss src 192.168.25.140

    路由配置文件

        /etc/sysconfig/network-scripts/route-IFACE 

        如:10.0.0.0/8 via 172.16.0.1 

        注意:需service network restart生效 

    给网卡增加其他ip与别名

    关闭NetworkManager服务 

    创建 ifcfg-eth1:123 文件

        写上网卡的信息,肯定越简单越好,只需要配个ip

    然后重启网卡服务

    Linux ip 可以手动配置一个 还能自动获取一个,但是自动获取的只能在主配置文件里  

        centos6 修改网卡名称:网卡名字相关文件:vim /etc/udev/rules.d/70-persistent-net.rules (需要重启系统)

    Centos7修改网卡名称

        Centos7 修改网卡名称  默认7采用的网卡命名方式为ens33之类的,没有按照顺序来,不是很习惯,所以可以修改为传统的eth0

        先把网卡的配置文件改掉,(网卡文件名称,配置文件中的设备名与name)

        然后按照下面的步骤修改grub

        必要时添加文件 vim /etc/udev/rules.d/70-persistent-net.rules  (这一步 可以不用做。必要时)

        写入一下内容 SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="00:0c:29:47:a4:e9",ATTR{type}=="1" ,KERNEL=="eth*",NAME="eth0"   //网卡与名字对应关系,只需要修改mac地址与后面的name

            (1) 编辑/etc/default/grub配置文件  GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"   // 在rhgb quiet后面增加 

                或:修改/boot/grub2/grub.cfg

            (2) 为grub2生成其配置文件  grub2-mkconfig -o /boot/grub2/grub.cfg

            (3) 重启系统    

    sed -rn '/^[[:space:]+linux16]/s#(.*)#1 我想假加的字符串 #p' /boot/grub2/grub.cfg   //找到linux16的行,在行的最后面加上你想要的东西

    sed -rn '/^[[:space:]+linux16]/s#(.*)#1 net.ifnames=0 #p' /boot/grub2/grub.cfg   //这个命令会把网卡名字改为传统的网卡 eth1.。。。

    sed -rn '/rhgb quiet/s#(.*)(rhgb quiet)("$)#12 int int 3#p' /etc/default/grub

    dns

      

    Linux下配置dns的三种方法

           1. HOST 本地DNS解析  vi /etc/hosts   eg:23.231.234.33 www.baidu.com

           2. 网卡配置文件DNS服务地址  vi /etc/sysconfig/network-scripts/ifcfg-eth0   eg:DSN1='114.114.114.114'

           3. 系统默认DNS配置   vim /etc/resolv.conf   eg:nameserver 114.114.114.114

               系统解析的优先级 1>2>3

    主机名的修改

      hostname  可以查看主机名也可以设置主机名(临时设置) 

                hostnamectl status     也查看主机名

          设置主机名:  hostnamectl set-hostname centos7.magedu.com  ///永久生效的

              或者修改    /etc/hostname文件  也是永久生效的          

     centos6: /etc/sysconfig/network

              HOSTNAME=

         /etc/hosts   作用类似于 dns,把名字和ip地址做解析,所以直接在这里写好,就不用连接dns了

    /etc/hostname与/etc/hosts的区别

    • /etc/hostname中存放的是主机名
    • /etc/hosts存放的是域名与ip的对应关系,域名与主机名没有任何关系,你可以为任何一个IP指定任意一个名字

    Linux系 统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。由此,/etc /hosts于设置hostname是没直接关系的,仅仅当你要在本机上用新的hostname来映射自己的IP时候才会用到/etc/hosts文件。 两者没有必然的联系。

    网卡绑定bond

    • Mode 0 (balance-rr)     
    • 轮转(Round-robin)策略:从头到尾顺序的在每一个slave     接口上面发送数据包。本模式提供负载均衡和容错的能力
    • Mode 1 (active-backup)     
    • 活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口 失败时才会激活其他slave.为了避免交换机发生混乱此时绑定的MAC地址只有 一个外部端口上可见
    • Mode 3 (broadcast)     
    • 广播策略:在所有的slave接口上传送所有的报文,提供容错能力
    • active-backup、balance-tlb 和 balance-alb 模式不需要交换机的任何特 殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需 要在模式 0、2 和 3 中使用 EtherChannel,但在模式4中需要 LACP和 EtherChannel 

    做法:

    新建 网卡文件ifcfg-bond0

     内容还是一般的网卡内容,该怎么配就怎么配 ,加入下面的内容

      BONDING_OPTS=  “miimon=100  mode=1”     

      mode    Mode几

      miimon  是用来进行链路监测的   100ms

    在需要绑定的网卡里面加入下面的,加入之后,这个网卡的ip设置就无效了

    MASTER=bond0

    SLAVE=yes

     

    centos7下 推荐使用的工具  nmcli   ----networkmanager  client

          nmcli   有很多子命令 其中用的最多的就是 connection  device 

            device 表示链路层的信息  

                  nmcli device

                  nmcli device show eth0

            connection  表示网络层的信息

                  nmcli connection  

                  nmcli connection  show  eth1

      当我们在测试环境中,经常需要修改网卡地址,一会改过来改过去的,很烦。所以通过nmcli工具可以 为一个网卡设定多个方案,只需要用哪个就启用那个就OK了。

      如下命令 我们为eth1网卡 添加了名字为eth1-test的方案,类型为以太网,ip地址获取方式为手动设置

      设置好之后,想要启用的话,nmcli connection   up  eth1-test  //它启动之后,另外的就会自动关闭

      他本质上还是创建一个 同名的eth1-test文件,当然我们也可以自己创建一个这个文件 然后  nmcli connection reload 重新加载一下 就有了。

      删除的话  nmcli connection delete  eth1-test   会自动切换

     上面的是 添加一个自动获取的方案

     当然还可以为某一个方案加地址,多个地址

    为eth1-test方案 增加地址,加地址本质上还是修改了配置文件

     也可以通过 nmcli 设置bond

    添加一个bond   ifname指的是生成的bond设备名

    然后将两个网卡加进去就欧了,这里用到的本质是,给eth0  eth1网卡都增加了一个方案,而这个方案就是bond模式,到时候一切换,就OK了

    网桥

     添加一个网桥设备

     

    给eth0网卡 添加一个叫mybr0-eth0的方案,类型为br,并且加到br0网桥里

     这种通过nmcli实现的网桥 是写到配置文件里的,可以保存的

     

    要有多努力才能对得起奔波的脚步和身上的期望
  • 相关阅读:
    55域TLV说明
    iOS开发之指定UIView的某几个角为圆角
    常逛的博客
    猿题库 iOS 客户端架构设计
    NSData
    base64编码
    RSA算法原理
    无法安装64位版本的office因为在您的pc
    mysql导出导入数据
    设置mysql的字符集
  • 原文地址:https://www.cnblogs.com/hxfcodelife/p/11962309.html
Copyright © 2020-2023  润新知