1.ifcfg命令家族


1.1 ifconfig命令

    ifconfig 用来查看和管理接口及地址

查看: ifconfig [INTERFACE]

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

管理: ifconfig interface [aftype] options | address ...

    [options] :

        [-]promisc  启用或禁用混杂模式

        [-]allmulti 启用或禁用组播

用来设置IP地址有两种方式:

        ifconfig IFACE IP/MASK [up]
        ifconfig IFACE IP netmask NETMASK

管理ipv6地址:

        ifconfig add addr/prefixlen        添加地址
        ifconfig del addr/prefixlen        删除地址


例:设置eth1地址为192.168.10.10,掩码为255.255.255.0

~]# ifconfig eth1 192.168.10.10/24
~]# ifconfig eth1 192.168.10.10 netmask 255.255.255.0


1.2 route命令

    route 管理及查看路由

查看:

     route -n      显示路由条目

添加:

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

示例:

~]# route add -net 192.168.10.0 gw 192.168.1.1 dev eth1

删除:

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

示例:

~]# route del -net 192.168.10.0/24


1.3 netstat命令

    netstat  用来显示网络连接、路由信息、接口状态......

显示路由信息:

    netstat -rn   

-r :显示内核路由表

-n :以数字格式显示

显示网络连接:

netstat [--tcp|-t] [--udp|-u] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]

    -t:TCP协议的相关链接,链接均有其状态,FSM

-u:UDP协议的相关链接

-U:简装版的UDP的相关链接

-w:raw socket(裸套接字)相关链接

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

-a:所有状态

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

-e:扩展格式

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

显示接口的统计数据:

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

所有接口:

netstat -i 

指定接口:

netstat -I

例1:查看TCP协议所有处于监听状态的链接

~]# netstat -tnl

例2:查看UDP协议下所有的状态并显示相关PID

~]# netstat -unap


1.4 配置主机名

CentOS :    

    hostname命令:

    查看: hostname

    配置: hostname HOSTNAME

    当前系统有效,重启后无效

CentOS 7:

hostnamectl命令:

hostnamectl status 显示当前主机名信息

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

例: 

~]# hostnamectl set-hostname ch


 
2.iproute2家族


2.1 ip命令

    ip 查看或设置路由、网络配置......

用法:

    ip [ OPTIONS ] OBJECT { COMMAND | help }

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


ip link set  修改设备属性

    dev NAME (default) :指明要管理的设备,/dev可省略

    up and down  启用或禁用接口

    arp on or arp off  启用或禁用arp地址解析

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

例:ip link set eth0 multicast on

name NAME:重命名接口

txqlen :设置队列长度

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

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

例:ip link set eth1 netns mynet


ip netns : 管理网络名称空间

ip netns list 列出所有的netns

ip netns add NAME 创建指定的netns

例:ip netns add mynet

ip netns del NAME  删除指定的netns

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

例:ip netns exec mynet ip link show


ip link show  显示设备属性


ip address ip地址管理

    ip address add 添加

ip addr add IFADDR dev IFACE   

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

例:ip addr add 192.168.10.10/24 dev eth1 label eth1:1

[broadcast ADDRESS] 广播地址,会根据IP和NETMASK自己计算

[scope SCOPE_VALUE] 作用域:

global:全局可用

link :接口可用

host:仅本机可用

    ip address delete  删除

ip addr delete IFADDR dev IFACE

ip address show  显示地址

[IFACE] 仅显示指定接口的地址

ip address flush 清空指定接口的所有地址

ip addr flush dev IFACE 


ip route 路由管理

ip route add           添加路由

ip route change         修改路由

ip route replace          修改或添加路由

ip route add TYOE PREFIX via [GW] [dev IFACE] [srv SOURCE_ip]

例:ip route add 192.168.30.0/24 via 192.168.20.1 dev eth1

ip route delete     删除路由

    ip route del TYPE PREFIX

例: ip route del 192.168.30.0/24

ip route show        显示路由

ip route flush       刷新路由表

ip route get       获取某路由条目的相关信息

    ip route get TYPE PREFIX

例:ip route get 192.168.0.0/24


2.2 ss命令

    ss  是用来取代netstat命令的

用法:

    ss [optins] [FILTER]

[optins]:

    -t :TCP协议的相关链接

-u :UDP协议的相关链接

-w :raw socket相关链接

-l :监听状态的链接

-a :所有状态的链接

-n :数字格式

-p :相关的程序及其PID

-e :扩展格式信息

-m :内存用量

-o :计时器信息

[FILTER]:

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

    EXPRESSION:

dport=   目标端口

sport= 源端口

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

例: ss -tan '( dport=:22 or sport=:22 )'


3.修改配置文件


3.1 主机名的配置文件

    配置文件位置:/etc/sysconfig/network

        HOSTNAME=


3.2 DNS的配置文件

    配置文件位置:/etc/resolv.conf 

        nameserver    DNS_SERVER_IP

        最多可以有3个DNS服务器地址


3.3 本地hosts文件

    配置文件位置:/etc/hosts

        IP    FQDN


3.4 路由的配置文件

    配置文件位置:/etc/sysconfig/network-scripts/route-IFACE

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

    1.每行一个路由条目

    TARGET via GW

2.每三行一个路由条目

ADDRESS#=TARGET

NETMASK#=MASK

GATEWAY#=NEXTHOP

#:代表数字,第几组


3.5 网卡的配置文件

    配置文件位置:/etc/sysconfig/network-scripts/ifcfg-IFACE

    配置文件参数:

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

        ONBOOT:在系统引导过程中,是否激活

NETBOOT:是否支持网络引导

UUID :此设备的唯一标识

IPv6INIT :是否初始化IPv6协议栈

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

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

DNS1: 第一DNS服务器指向

DNS2:第二DNS服务器指向

DOMAIN:DNS搜索域

GATEWAY :默认网关

HWADDR: 设备的MAC地址

IPADDR : 本机ip地址

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

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

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

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


4.网络服务管理

    配置文件修改后,如果要立即生效,则需要重启网络服务

管理网络服务:

CentOS 6 : service SERVICE [start|stop|restart| status]

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


例:重启网络服务

~]# service network restart                  CentOS 6
~]# systemctl restart network.service        CentOS  7