Linux 网络配置及命令

 首先要了解linux中各个配置文件的路径
linux

   网卡的配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0
服务器

   主机名配置文件:/etc/sysconfig/network
网络

   静态主机配置文件:/etc/hosts
socket

 接下来是文件中的内容首先 若是在局域网中有可自动分配IP的服务器,则可设置自动获取IP,若是没有DHCP服务器须要手动配置IP,即在网卡的配置文件中修改:tcp

   /etc/sysconfig/network-scripts/ifcfg-eth0  内容以下ide

DEVICE=eth0                           网卡设备名工具

BOOTPROTO=none                         是否自动获取IP(none、static、dhcp)spa

HWADDR=00:0c:29:17:c4:09                  MAC地址3d

NM_CONTROLLED=yes                      是否能够由Network Manager图形管理工具托管接口

ONBOOT=yes                          是否随网络服务启动,eth0生效

TYPE=Ethernet                        类型为以太网

UUID= "44b76c8a-b59f-44d5-83fa-7f98fda86b3d"    惟一识别码

IPADDR=192.168.0.252                    IP地址

NETMASK=255.255.255.0               子网掩码  

GATEWAY=192.168.0.1                   网关

DNS1=202.106.0.20                  DNS

IPV6INIT=no                    IPv6没有启用

USERCTL=no                    不容许非root用户控制此网卡


 再有就是用命令查看和更改网络配置

 ifconfig命令

  这个命令是用来查看网络接口的配置信息,也能够用来配置网络接口的IP地址信息等

  好比 

    # ifconfig eth1 172.16.100.105 netmask 255.255.255.192

     为eth1网络端口配置IP地址为172.16.100.105 子网掩码为255.255.255.192

  若是ifconfig后面有特定接口名称做为参数,则不管接口是否处于激活状态,都显示该网络接口的信息;若是没有的话就显示全部处于激活状态的网络接口信息;

    有个经常使用选项

      -a :显示全部网络接口,不管其是否处于激活状态

 route命令

经常使用选项;

  -n:以数字化显示主机名(IP地址)和端口


  设置路由信息:

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

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


  设置默认网关的方法:default == -net 0.0.0.0/0

  route add default gw 192.168.100.1


  删除默认网关的方法

  routedel default

  routedel default gw 172.16.0.1


  添加静态路由的方法:

  route add -net 10.0.0.0/8 gw 192.168.220.100 [dev eth2]


  删除静态路由的方法

  route del -net问问10.0.0.0/8

  route del -net 10.0.0.0/8 gw 192.168.220.100

 netstat命令

    用于显示各类网络相关信息,如网络链接,路由表,接口状态 (Interface Statistics),masquerade 链接等等。

     经常使用选项

      显示网络接口的有:

          [--tcp|-t]:只显示与TCP协议相关的网络链接

  [--udp|-u] :只显示与UDP协议相关的网络链接

  [--udplite|-U]:只显示udplite协议相关的网络链接

  [--raw|-w] :显示与裸套接字相关的网络链接

  [--listen-ing|-l]:显示处于监听状态的TCP链接      

  [--all|-a]:查看全部状态的任意链接

  [--numeric|-n]:数字化显示结果中的主机名、端口号、用户ID等信息;

  [--extend|-e[--extend|-e]]:以扩展格式显示结果

  [--program|-p]:显示与该网络链接相关的应用程序及进程ID

      经常使用的选项组合:

  -tan,-uan,-tnl,-unl,-ntlp,-unlp,-tunlp

        之中显示路由表的有:       

         {--route|-r}: 显示路由表信息

       [--extend|-e]:显示扩展信息

           [--numeric|-n]:数字化信息

        之中显示接口状态的有:

          netstat {--interfaces|-I|-i} 

          [--all|-a] 

          [--extend|-e] 

          [--verbose|-v] 

          [--program|-p]   

          [--numeric|-n]

  iproute家族

    ip命令

    ip是iproute2软件包里面的一个强大的网络配置工具,它可以替代一些传统的网络管理工具,例如ifconfig、route等,使用权限为超级用户。几乎全部的Linux发行版本都支持该命令。

   使用方法:ip [ OPTIONS ] OBJECT { COMMAND | help }

          其中OBJECT可有 { link | addr| route | netns} 之中的一个

    当OBJECT为link时有:

    ip link set [dev] IFACE_NAME {up|down} :激活或禁用网络接口

    ip link set [dev] IFACE_NAME [arp { on | off }]:是否容许此网络接口使用ARP协议;

  ip link set [dev] IFACE_NAME 改网络接口名称,须要将设备先down掉

  ip link set [dev] IFACE_NAME [mtu MTU]:修改网络接口的MTU数值

  ip link set [dev] IFACE_NAME [ netns PID]:

  ip link set [dev] IFACE_NAME [netns NAME]:将指定的网络接口加入到指定的网络名称空间中;

  ip link {show|list}:列表显示全部的链路接口;只显示链路层信息;

  ip link help:得到简短的帮助信息

   当OBJECT为addr时 即 为网络设备添加或删除地址 或查看    

        ip addr add IFADDR dev IFACE_NAME:为指定的网络接口添加IP地址

  ip addr del IFADDR dev IFACE_NAME:将IP地址从指定的网络接口上删除

  ip addr flush dev IFACE_NAME:将指定接口上配置的全部IP地址所有清除

  ip addr { show|list} [dev IFACE_NAME]:显示网络接口上配置的IP地址;

  为网络接口增长多个IP地址,并可以使用ifconfig查看;

   ip addr add IFADDR dev IFACE_NAME label IFACE_NAME_LABEL

                                         ↓

   此IFACE_NAME_LABEL 为 IFACE_NAME:# (#表明任意整数)

    

 ~]# ip address add 192.168.19.130/24 brd + label ens33:1 dev ens33  # 至关于ifconfig ens33:1 192.168.19.130/24
 ~]# ip addr add 192.168.19.130/24 dev ens33  # “简化版”
 ~]# ip addr delete 192.168.19.130/24 dev ens33 #删除网络设备的一个地址

   

    当OBJECT为route时 - 查看和设置路由表信息

  ip route { add | del } TARGET/PREFIX vai NEXT_HOP [dev IFACE_NAME]

  ip route list

    当OBJECT为netns

  ip netns list:列表显示全部的自定义的名称空间;

  ip netns add NS_NAME:建立名称空间;

  ip netns exec NS_NAME cmd:在指定的名称空间中使用命令;

  ip netns delete NS_NAME:删除指定的名称空间;

    ss命令

    ss 是 socket statistics 的缩写。顾名思义,ss 命令能够用来获取socket 统计信息,它能够显示和netstat 相似的内容。但 ss 的优点在于它可以显示更多更详细的有关TCP和链接状态的信息,并且比netstat更快速更高效。  

     ss的用法 ss [options] [ FILTER ]

      options经常使用选项:

  -t:TCP协议相关的链接状态

  -u:UDP协议相关的链接

  -w:raw socket相关的链接

  -l:处于监听状态的链接

  -a:全部的状态的套接字链接

    -n:数字化显示结果

  -p:显示相关应用程序及PID

  -e:显示详细的扩展信息

  -m:显示内存使用量

  -o:计时器信息


  FILTER := [ state TCP-STATE ] [ EXPRESSION ]

    TCP-STATE:TCP协议有限状态机中的全部可用状态;

  EXPRESSION:

  dport= :port

  sport= :port

  EXPRESSION示例:

  '( dport = :22 or sport = :22 )'

相关文章
相关标签/搜索