Linux网络配置命令:

Ifconfig命令:

     查看和管理本机地址信息;

 ifconfig [interface]:显示本机所有处于活动状态的地址

                              -a :所有接口

                              eth0  :只显示eth0的信息

ifconfiginterface [aftype] options | address ...

 ifconfig the0  ip/mask [up|down]:启用接口

 ifconfig eth0  172.16.100.11/16 或者: ifconfigeth0 172.168.100.12  netmask255.255.255.0

    注意:配置后立即生效,但是重启后失效;

[关闭]启用混杂模式:[-]promisc 

route命令:

     配置和管理路由信息

      查看本机路由:route –n

      配置管理本机路由:

          添加路由:

            route   add [-net|-host] target[netmask Nm][gw Gw] [metric N] [[dev] If]

              a,添加一条主机路由

route add -host 192.168.1.3 gw 192.168.1.1 dev eth0

              b,添加一条目标网络路由:

route add -net  192.168.0.0netmask 255.255.255.0  gw 172.16.0.1 deveth0

              c,添加一条默认路由:

                route add -net 0.0.0.0  netmask 0.0.0.0 gw 172.16.0.1

相当于:iproute  add default gw 172.16.0.1

             删除路由:

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

                  a,删除主机路由:

                   route del -host192.168.1.3

                  b,删除目标网络路由:

                     route del -net 192.168.0.0netmask 255.255.255.0

  DNS服务的指定:

    DNS服务器配置文件: /etc/resolv.conf

     配置格式: NameServer DNSserverIP

     正向解析:FQDNàIP

                 如: vim /etc/resolv.conf

                      dig – t A www.baidu.com 或者host –t A  www.baidu.com

      反向解析:IP àFQDN

                  如:vim/etc/resolv.conf

                      dig  –x  www.baidu.com

netstate命令:

     网络状态查看

      netstat  [--tcp|-t]  [--udp|-u] [--raw|-w] [--listening|-l][--all|-a] [--numeric|-n]

[--numeric-hosts][--numeric-ports][--extend|-e[--extend|-e]]  [--program|-p]

netstat  -t:只显示tcp协议的

-w:raw socket 相关,裸套接字,不使用TCP/UDP的套接字

-l:监听状态的

-a:所有状态

       -n:以数字状态显示IP和端口

       -e:扩展格式的信息

       -p:显示相关的进程和程序

     常用组合

        -tn:表示不反解析的tcp ,所有TCP相关的连接

        -uan:udp相关的连接

        -tnl:tcp相关的处于监听状态的

        -unl:udp处于监听状态的

        -tan:所有的不反解析tcp

显示路由表的:

         netstat {--route|-r}  [--extend|-e[--extend|-e]] [--verbose|-v][--numeric|-n]    

                 -r:显示内核路由表

                 -n:数字格式显示

route -n

                 route -rn

                 netstat -rne

                 netstat   -rnv

      接口统计数据显示:

            netstat  {--interfaces|-I|-i}  [iface] [--all|-a]  [--extend|-e]  [--program|-p] [--numeric|-n]

            netstat -Ieth0   :不能空格

            netstat -i :不接参数,所有接口;

                   -n:numeric

                   -a :all

   IP命令:

      配置linux网络属性

       ip [ OPTIONS ] OBJECT { COMMAND | help }

         OBJECT := { link 管理设备连接 | addr | addrlabel 管理地址| route 管理路由}

      1, ip link set:改变设备的属性;

         示例1up/down 起动/关闭设备。

 ip link set dev eth0up[down]   相当于 ifconfig eth0up[down]

示例4修改网络设备的MAC地址

       ip link set dev eth0 address00:01:4f:00:15:f1

      2, ip link show--显示设备属性

 

     ipaddr :ip地址添加移除

              ip addr { add | del } IFADDR devSTRING

            示例1:原来有IP,新增后有两个IP

                ip addr add 172.16.100.13/16  deveth0

               示例2:删除一个IP

                ip addr del 172.12.100.14/16 dev eth0

 示例3:查询

    Ip addrshow 

     注意:用ipaddradd设置的ip地址,使用ifconfig是无法看到的。

示例4:指定一个接口别名

                ip addr add 172.16.100.13/16 dev etho label 'eth0:0'

              示例4:删除一个别名:

                 ip addr del 172.16.1.12/16 dev eth0 label 'eth0:0'

                    注意:设置别名后用ifconfig查看验证;

     ip  route :ip路由管理

                ip route add :添加路由

                ip route add TARGET via  GW  devIFACE  src SOURCE_IP

                  示例1:指定默认网关

                       ip route add default via172.16.0.1

                      示例2:指定一条路由

ip route add 192.168.0.0/24 via 172.16.0.1

                  ip route show:查看路由设置,或者ip route list

                  iproute  delete:删除路由

                      ip route del TARGET

示例1:删除一条主机路由

ip route del  192.168.1.3

示例2:删除默认路由

    Iproute del default

                ip route flush :清空路由表

                       [dev IFACE]

                       [via PREFIX]

 

   ss命令:网络状态查看工具:

          ss [option]...[filter]

选项:

           -t: tcp协议相关

           -uudp协议相关

           -w:裸套接字相关

           -xunix sock相关

            -l:listen状态的链接

            -a:所有

            -n:数字格式

            -p:相关的程序以及pid

            -e:扩展

            -o:显示计时器信息

            -m:内存信息

       

TCP的常见状态:

                  LISTEN:监听

                   ESTABLISHED:已经建立的连接

                 常用组合:

                   -tan,tanl,-tanlp,-uan

  

    Linux网络属性配置文件:

      IP ,MASK,GW,DNS相关配置文件路径:

            /etc/sysconfig/network-scripts/ifcfg-IFACE

       路由相关的配置(默认不存在,需要手动创建):

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

  示例eth0配置:

/etc/sysconfig/network-scripts/ifcfg-eth0

     DEVICE="eth0":此配置文件应用到的设备

    BOOTPROTO="static"  :激活此设备时使用的地址配置协议:常用dhcp,static,none,bootp

     IPADDR=172.16.1.111  :IP地址

     NETMASK=255.255.0.0:子网掩码

     GATEWAY=172.16.1.1  :网关

     DNS1=172.16.0.1      DNS指向

     HWADDR="00:0C:29:D7:6A:A5"MAC地址

 IPV6INIT="no"            IPV6是否启用

     NM_CONTROLLED="yes"  : networkmanager简写,此网卡是否接受NM控制;Centos建议为”no"

     ONBOOT="yes": 在系统引导是是否激活此设备

     TYPE="Ethernet" : 接口类型:常见的ETHERNET,BRIDGE

     UUID="092286cb-cad2-4e2e-8cdc-b587c52f23a7"  : 设备的UUID

   注意:配置完保存后需要重启网络服务:

      ifconfig eth0;ifconfig eth0 up或者service networkrestart

 

/etc/sysconfig/network-scripts/route-IFACE:路由管理

            两种风格:

1,   TARGET VIA GW

示例:

                   vim route-eth0

                   192.168.0.0/24 via172.16.0.1

                   编译完后重启网络服务:servicenetwork restart

 

              2,每条路由占据3行:

                  ADDRESS#=TARGET

                  NETMASK#=mask

                  GATEWAY#=GW 

                  示例:

                  vim route-eth0

                  ADDRESS0=192.168.20.0

                  NETMASK0=255.255.255.0

                  GETWAY0=172.16.0.1

                  ADDRESS1=192.168.30.0

                  NETMASK1=255.255.255.0

                  GETWAY1=172.16.0.1

 

         配置当前主机的主机名:/etc/sysconfig/network:文件:

                 hostname[HOSTNAME]:查看或者配置主机名

                 示例:hostname  www.magedu.com

         网络接口识别并命名相关的udev配置文件:

                  eth1,eth0:互换下:

           /etc/udev/rules.d/70-persistend-net.rules中将NAME="eth0"改为NAME="eth1"

 

           modprobe -r e1000:卸载网卡

           modprobe e1000:加载网卡驱动为e1000的网卡

 

CentOS 7网络属性的配置:

     从CentOS/RHEL7起,可预见的命名规则变成了默认。这一规则,接口名称被自动基于固件,拓扑结构和位置信息来确定。现在,即使添加或移除网络设备,接口名称仍然保持固定,而无需重新枚举,和坏掉的硬件可以无缝替换。

     eno表示:

eno 表示:ETHERNET网卡

o:表示:集成的设备提供的索引信息可用,且可预测则根据此索引进行命名

 

回归传统方式命名:

例如:修改eno16777736eth0操作:

   a,vi /etc/sysconfig/network-scripts/ifcfg-eno16777736 将里面的NAME项修改为eth0

   b,b,重命名该配置文件

          cd /etc/sysconfig/network-scripts/

          mv ifcfg-eno16777736  ifcfg-eth0

   c,编辑/etc/default/grub并加入“net.ifnames=0biosdevname=0 ”到GRUBCMDLINELINUX变量来实现的。

    d,运行命令grub2-mkconfig-o /boot/grub2/grub.cfg 来重新生成GRUB配置并更新内核参数。

    e,创建,/etc/udev/rules.d/XXX-net.rules规则是必要的,以前系统的net规则名称是70-persistent-net.rules,这里我也按照这个名字定义规则!

      cd /etc/udev/rules.d

      vim 70-persistent-net.rules

      SUBSYSTEM=="net", ACTION=="add",DRIVERS=="?*", ATTR{address}=="00:0c:29:75:6f:38",ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

 

CentOS下地址配置工具:nmcli

   nmcli  [ OPTIONS ] OBJECT { COMMAND | help }

          device :相当于IP命令的link工具;

                nmcli device status相当于ip linke show

                 nmcli device show eth0:指定接口当前状态信息

            connection:相当于ip命令的addr工具:

                       nmcli connection show :当前可用有效链接;

       修改IP等属性:

nmcli con modify eth0 ipv4.addresses 172.16.100.12/16             

nmcli con modifyeth0 ipv4.gateway 172.16.0.1 :网关设置

 nmcli con modify eth0ipv4.dns 172.16.0.1     :DNS指定

 nmcli con modify eth0+ipv4.dns 172.16.0.2  :增加一条DNS记录

 nmcli con down eth0; nmclicon up eth0

 nmcli con show eth0;

        移除一个ip:

          nmcli con  modify eth0-ipv4.addresses 172.16.100.12/16 :移除一个IP地址

          nmcli con down eth0 ; nmcli con up eth0

          nmcli dev show eth0

          nmcli g status :NetworkManager'sgeneral status and operations

  主机名称配置工具:                         

           hostnamectl status :查看主机名:

           hostnamectl set-hostname www.magedu.com:设置主机名: