Linux网络属性配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux网络属性配置相关的知识,希望对你有一定的参考价值。

linux 如何连网,且与其他网络的主机怎样通信?


解决方案一:ip命令:ip [ OPTIONS ] OBJECT { COMMAND | help } 

             OBJECT := { link | addr | route | netns  }

改变设备接口的属性 ip link  set  dev NAME (default)          

   :指明要管理的设备,dev关键字可省略;

up和down:

multicast on或multicast off:启用或禁用多播功能;

name NAME:重命名接口

tu NUMBER:设置MTU的大小,默认为1500;

 netns NAME:ns为namespace,用于将接口移动到指定的网络名称空间;

技术分享

技术分享

显示设备的属性   ip  link  show   可以指定显示某个设备的属性

       技术分享技术分享

管理网络名称空间  ip  netns  list:列出所有的netns


  ip  netns  add  NAME:创建指定的netns

  ip  netns  del  NAME:删除指定的netns

  ip  netns   exec  NAME  COMMAND:在指定的netns中运行命令



增加ip地址  ip  addr  add  IFADDR  dev  IFACE


[label NAME]:为额外添加的地址指明接口别名;

[broadcast ADDRESS]:广播地址;会根据IP和NETMASK自动计算得到;

[scope SCOPE_VALUE]:global:全局可用;link:接口可用;


删除ip地址 ip addr  delete  IFADDR  dev  IFACE 

 技术分享  

显示接口的ip地址 ip  addr   list  [IFACE]:显示接口的地址;

技术分享

清除接口的所有ip地址 ip  addr  flush  dev  IFACE

为主机新增路由条目 ip  route   add  TYPE PREFIX  via GW  [dev  IFACE]  [src SOURCE_IP]

          

 示例:# ip route add 192.168.0.0/24  via 10.0.0.1  dev eth1 src  10.0.20.100


       # ip  route  add default  via  GW

               技术分享

为主机删除路由条目 ip  route  del  TYPE PRIFIX 

示例:# ip  route delete  192.168.1.0/24

显示网络接口的路由条目 ip route show 

清空本机网络接口的路由条目 ip route flush 

ip  route  get  TYPE PRIFIX

            示例:ip route  get  192.168.0.0/24

注:以上均是命令行下配置,能够马上生效。重启后会失效。


技术分享




解决方案:更改配置文件

配置文件:

改ip的配置文件:IP/NETMASK/GW/DNS等属性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE 注:IFACE:接口名称

     ifcfg-IFACE配置文件参数

DEVICE:此配置文件对应的设备的名称;

ONBOOT:在系统引导过程中,是否激活此接口;

UUID:此设备的惟一标识;

IPV6INIT:是否初始化IPv6;

BOOTPROTO:激活此接口时使用什么协议来配置接口属性,常用的有dhcp、bootp、static、none;

TYPE:接口类型,常见的有Ethernet, Bridge;

DNS1:第一DNS服务器指向;

DNS2:备用DNS服务器指向;

DOMAIN:DNS搜索域;

IPADDR: IP地址;

NETMASK:子网掩码;CentOS 7支持使用PREFIX以长度方式指明子网掩码;

GATEWAY:默认网关;

USERCTL:是否允许普通用户控制此设备;

PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向覆盖本地手动指定的DNS服务器指向;默认为允许;

HWADDR:设备的MAC地址;

                                NM_CONTROLLED:是否使用NetworkManager服务来控制接口;  一般都禁用掉




改路由的相关配置文件:/etc/sysconfig/networkj-scripts/route-IFACE

支持两种配置方式,但不可混用;

(1) 每行一个路由条目:

TARGET  via  GW

例如:172.18.0.0/16  via  0.0.0.0

(2) 每三行一个路由条目:

ADDRESS0=172.18.0.0

NETMASK0=255.255.0.0

GATEWAY0=0.0.0.0

图形化界面更改:

(CentOS 6:system-config-network (setup),CentOS 7: nmtui)

注:以上更改以后,都要重启一下网络服务network

CentOS 6:  service  SERVICE  {start|stop|restart|status}

CentOS 7:systemctl  {start|stop|restart|status}  SERVICE[.service]









网络属性查看类命令介绍:

ss命令:ss  [options]  [ FILTER ]

选项:

-t:TCP协议的相关连接

-u:UDP相关的连接

-w:raw socket相关的连接

-l:监听状态的连接

-a:所有状态的连接

-n:数字格式

-p:相关的程序及其PID

-e:扩展格式信息

-m:内存用量

-o:计时器信息

常用组合:-tan,  -uan,  -tnl,  -unl,  -tunlp

非常好用的“过滤器”FILTER := [ state TCP-STATE ]  [ EXPRESSION ]

TCP的常见状态STATE

LISTEN:监听

ESTABLISEHD:建立的连接

FIN_WAIT_1:

FIN_WAIT_2:

SYN_SENT:

SYN_RECV:

CLOSED:

               ~]# ss  -tan  state  ESTABLISHED

技术分享技术分享

EXPRESSION:

dport = 目标端口

sport = 源端口

示例:‘( dport = :22 or sport = :22)‘

           ~]# ss   -tan    ‘(  dport = :22 or sport = :22  )‘

技术分享技术分享

给接口配置多个地址:

ip addr之外,ifconfig或配置文件都可以;

(1) ifconfig  IFACE_LABEL  IPADDR/NETMASK

IFACE_LABEL: eth0:0, eth0:1, ...

(2) 为别名添加配置文件;

DEVICE=IFACE_LABEL

BOOTPROTO:网上别名不支持动态获取地址;

static, none

nmcli命令:

nmcli  [ OPTIONS ] OBJECT { COMMAND | help }

device - show and manage network interfaces

COMMAND := { status | show | connect | disconnect | delete | wifi | wimax }

connection - start, stop, and manage network connections

COMMAND := { show | up | down | add | edit | modify | delete | reload | load }

modify [ id | uuid | path ] <ID> [+|-]<setting>.<property> <value>

如何修改IP地址等属性:

# nmcli  conn  modify  IFACE  [+|-]setting.property  value

ipv4.address

ipv4.gateway

ipv4.dns1

ipv4.method

manual

课外作业:nmap, ncat, tcpdump命令;






&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

知识拓展

ifcfg命令家族: ifconfig, route, netstat

ifconfig命令:接口及地址查看和管理

ifconfig  [INTERFACE]

# ifconfig -a:显示所有接口,包括inactive状态的接口;

ifconfig interface [aftype] options | address ...

# ifconfig  IFACE  IP/MASK  [up|down]

# ifconfig  IFACE  IP  netmask  NETMASK  

options:

[-]promisc 混杂模式

管理IPv6地址:

add addr/prefixlen

del  addr/prefixlen

route命令:路由查看及管理

路由条目类型:

主机路由:目标地址为单个IP;

网络路由:目标地址为IP网络;

默认路由:目标为任意网络,0.0.0.0/0.0.0.0

查看:

# route  -n

添加:

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

示例:    route add -net  10.0.0.0/8  gw  192.168.10.1  dev  eth1

  route add  -net  0.0.0.0/0.0.0.0  gw 192.168.10.1  

  route add  default  gw 192.168.10.1  

            

删除:

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

示例: route  del  -net  10.0.0.0/8  gw 192.168.10.1

       route  del  default

     

netstat命令:

显示路由表:netstat  -rn

      -r:显示内核路由表

      -n:数字格式

显示网络连接:

netstat  [--tcp|-t]  [--udp|-u]  [--udplite|-U]  [--sctp|-S]  [--raw|-w]  [--listening|-l]  [--all|-a]  [--numeric|-n]   [--extend|-e[--extend|-e]]  [--program|-p]

-t:TCP协议的相关连接,连接均有其状态;FSM(Finate State Machine);

-u:UDP相关的连接

-w:raw socket相关的连接

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

-a:所有状态

-n:以数字格式显示IP和Port;

-e:扩展格式

-p:显示相关的进程及PID;

常用组合:

-tan,  -uan,  -tnl,  -unl,  -tunlp

传输层协议:

tcp:面向连接的协议;通信开始之前,要建立一个虚链路;通信完成后还要拆除连接;

udp:无连接的协议;直接发送数据报文;

显示接口的统计数据:

所有接口:netstat  -i

指定接口:netstat  -I<IFace>

ifup/ifdown命令:

               注意:通过配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE来识别接口并完成配置;

配置主机名:

查看:hostname

配置:hostname  HOSTNAME  当前系统有效,重启后无效;

hostnamectl命令(CentOS 7):

hostnamectl  status:显示当前主机名信息;

hostnamectl  set-hostname:设定主机名,永久有效;

配置文件:/etc/sysconfig/network

HOSTNAME=<HOSTNAME>

注意:此方法的设置不会立即生效; 但以后会一直有效;

配置DNS服务器指向:

配置文件:/etc/resolv.conf

nameserver   DNS_SERVER_IP

如何测试(host/nslookup/dig):

# dig  -t  A  FQDN

FQDN --> IP

# dig  -x  IP

IP --> FQDN


本文出自 “学而思” 博客,请务必保留此出处http://7136230.blog.51cto.com/7126230/1754591

以上是关于Linux网络属性配置的主要内容,如果未能解决你的问题,请参考以下文章

linux网络属性配置

Linux网络属性配置

Linux网络属性配置“三大家族”(ifcfgiproute配置文件)

Linux自学笔记——Linux网络基础命令及属性配置

Linux网络属性配置

Linux网络属性配置详解