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