##ifcfg:ifconfig,route,netstat

##iprout:ip,ss,nmcli


 1)#ifconfig 常用显示或更改网络配置

-a 显示所有接口信息,包括未激活接口

#ifconfig IFACE IP/MASK [up]  立即生效

#ifconfig add addr/prefixlen  添加IPv6地址


    更改IP地址:

]# ifconfig eth0 202.204.235.1/24

    查看指定网卡信息

]# ifconfig eth0


 2)#route 路由查看及管理

-n 不解析主机名,以数字格式显示

-----------------------------------------------------------------------

Destination   Gateway    Genmask     Flags  Metric  Ref   Use  Iface

10.1.0.0      0.0.0.0   255.255.0.0    U      0      0     0    eth0

-----------------------------------------------------------------------

/Destination 目标  The destination network or destination host. 

          目标网络或目标主机。   0.0.0.0表示默认网关


/Gateway 网关  The gateway address or '*' if none set.

          网关地址,如果没有就显示星号。


/Genmask 网络掩码

          若为0.0.0.0表示该主机在本地网络内 直连路由

/Flags:标志,代表的意义如下:                        

         o U 该路由已启动;                       

         o H 目标是一部主机 (IP) 而非网域;               

         o G 需要透过外部的主机 (gateway) 来转递封包;           

         o R 使用动态路由时,恢复路由资讯的旗标;                       

         o D 已经由服务或转 port 功能设定为动态路由                      

         o M 路由已经被修改了;       

         o ! 这个路由将不会被接受(用来抵挡不安全的网域!)

         o A (installed by addrconf)

         o C (cache entry)

/Metric 距离、跳数。暂无用。

/Ref   不用管,恒为0。

          Number of references to this route. (Not used in the Linux kernel.)

/Use    该路由被使用的次数,可以粗略估计通向指定网络地址的网络流量。

/Iface 接口,即eth0,对应本机的接口


route add [-net|-host] target [netmask NM] [[dev]if]  添加/删除路由条目


    可手动添加也可安装quagga包借助于RIP、OSPF、BGP等协议自动生成 使用vtysh配置

]#route add -net 10.0.0.0/8 gw 192.168.10.1添加路由条目 网络
]#route add default gw 192.168.0.1更改默认网关
         删除:
]#route del -host 10.1.252.54



 3)netstat 命令用于显示各种网络相关信息,网络连接,路由表,接口状态,连接等。

        -r 显示路由信息,路由表

        -n 不解析主机名,能显示数字的全部转化成数字

        -t (tcp)仅显示tcp相关选项

        -u (udp)仅显示udp相关选项

        -l 仅列出有在 Listen (监听) 的服務状态

        -s 按各个协议进行统计

        -p 显示建立相关链接的程序名

        -e 显示扩展信息,例如uid等

        -c 每隔一个固定时间,执行该netstat命令。

        -i 所有接口信息

        -I 指定接口    -Ieth0 或 -I=eth0

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


netstat -rn 类似 route -n


 4)ifup/ifdown DEVICE    启动或禁用网卡



#hostname [HOSTNAME] 查看或修改主机名  立即生效,但重启不保留


#hostnamectl 显示主机名等信息 内核、架构、底层等

set-hostname 设置主机名,不会立即生效,重启永久有效


Cent OS 7 一般使用hostnamectl 修改主机名

配置文件/etc/hostname 默认没有


=====

##iprout家族:  版本与内核相同


1)ip    show / manipulate routing, devices, policy routing and tunnels

OBJECT [ link | addr | route ]

#ip link set|show DEV 修改设备属性

        up/down

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

name NAME:重命名接口 需先停用接口

mtu NUM:设置MTU大小 默认1500

  

#ip netns PID:ns表namespace,用于将接口移动到指定的网络名称空间,构建虚拟网络

list:列出所有的netns

add NAME:创建指定netns

del NAME:删除指定netns

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

]#ip netns add mynet
]#ip link set eth1 netns mynet
]#ip link exec mynet ip link show

#ip address [OPTION] dev IFACE :地址管理

add IFADDR dev IFACE label LABEL:添加地址 ifconfig只显示一个主地址

]#ip addr add 202.204.235.5 dev eth1
]#ip addr show

[label NAME] 添加别名 ifconfig可显示

]#ip addr add 10.1.54.23 dev eth1 label eth1:0

[broadcast ADDRESS]:广播地址 会自动计算得到 省略

[scope SCOPE_VALUE]:设备的作用域

global 全局可用网卡地址在内核中,可连接eth0访问eth1的地址 

link  接口可用  与网卡绑定

host  主机可用

del IFADDR dev IFACE:删除地址

show/list:查看地址

flush:清空接口所有地址

#ip route :routing table management 路由表管理 

add TYPE PREFIX via GW [dev IFACE] [src SOURCE_IP]添加新路由

]#ip route add 172.18.20.0/16 via 202.204.235.1 dev eth1 src 10.1.54.23
]#ip route sdd default via 10.1.0.1


change

replace

delete 删除路由条目

]#ip route delet 172.18.20.0/16


show 显示路由信息

flush ARG 清空路由表

get 显示某个单条路由信息

    2)ss [options] [FILTER] 类似netstat  用于取代netstat 性能更优

     [option]:

     -t TCP相关连接

     -u UDP相关连接

     -w 裸套接字相关连接

     -l 监听状态连接

     -a 所有状态

     -n 数字格式

     -p 相关程序及PID

     -e 扩展格式信息

     -m 内存用量

     -o 计时器信息

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

[ TCP-STATE ] TCP FSM

LISTEN:监听状态

ESTABLISHET:已建立的连接


FIN_WAIT_1:

FIN_WAIT_2:

SYN_SENT:

SYN_RECV:

CLOSED:

[ EXPRESSION ]:

dport = :22

sport =

]#ss -tan '( sport = :22 or dport = :22 )'
]#ss -tan state ESTABLISHED





======配置文件

    IP/NETMASK/GW/DNS等属性配置文件:

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

路由的相关配置文件:

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

            两种配置方式:不可混用

1.每行一个路由条目

TARGET via GW

                10.0.0.0/8 via 202.204.235.1

2.每3行一个路由条目

ADDRESS#=TARGET

NETMASK#=MASK

GATEWAY#=GW


可用 vim 或专用命令修改:

CentOS 6 setup(system-config-network)

CentOS 7 nmtui


ifcfg-IFACE

NAME: 名称

* - DEVICE:对应设备

ONBOOT:是否开机启动

UUID: 此设备唯一标识

IPV6INIT: 是否启用IPv6

- BOOTPROTO:

                激活次接口时使用哪种协议,重用 hdcp、bootp、static、none

TYPE: 接口类型,常见 Ethernet、Bridge

* DNS: 第一DNS服务器指向

DNS2: 备用

DOMAIN:当前主机所在域 DNS搜索域  ping www   自动补全的域名

DEFROUTE: 是否为默认路由所使用的接口

* GATEWAY: 默认网关

* IPADDR: IP地址

* PREFIX: 网络位长度

* NETMASK: 子网掩码  CentOS 7支持PREFIX=# 以长度指明子网掩码

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

PEERDNS: 如果BOOTPROTO为dhcp,是否允许dhcp server分配的dns覆盖本地设置

NM_CONTROLLED: 是否使用NetworkManager服务控制接口

最简配置  静态 *      动态 -


]# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

UUID=97ce546f-f7e3-4115-af8d-a215ab8aa7e0

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=none

IPADDR=10.1.252.33

NETMASK=255.255.0.0

GATEWAY=10.1.0.1

DEFROUTE=yes

IPV4_FAILURE_FATAL=yes

IPV6INIT=no

NAME="System eth0"

HWADDR=00:0C:29:F2:0D:9A

PEERDNS=yes

PEERROUTES=yes