##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