您的位置:首页 > 理论基础 > 计算机网络

网络配置管理之ip、ss、配置文件、网卡命名规则、nmcli

2015-09-29 23:38 686 查看
配置网络属性:IP家族命令
ip命令:

ip [OPTIONS] OBJECT {COMMAND | help}

OBJECT={link | addr | route}

ip link使用:

set dev IFACE

可设置的属性有:up or down:激活或者禁用制定端口

show [dev IFACE] [up]
[root@localhost ~]# ip link show eth0  #查看指定端口的相关连接信息
[root@localhost ~]# ip link show up   #仅查看处于激活状态的接口
ip addr使用:

ip addr { add | del } IFADDR dev STRING
[label LABEL]:添加地址时指明网卡别名
[scope {global|link|host}]:指明作用域
global: 全局可用;
link: 仅链接可用;
host: 本机可用; 外部所有的计算机都无法ping通
[broadcast ADDRESS]:指明广播地址
注意:使用ip addr add添加的地址信息,ifconfig无法查看到。

[root@localhost ~]# ip addr add 172.16.100.100/16 dev eth0  #为eth0添加一个ip地址
[root@localhost ~]# ip addr del 172.16.100.100/16 dev eth0  #删除eth0上的一个IP地址
ip address show:查看IP地址
[dev DEVICE]:查看指定硬件设备的ip地址

[label PATTERN]:查看能被PATTERN匹配到的网卡别名的设备的IP地址相关信息
[primary and secondary]
ip address flush:擦除IP地址
使用格式同ip address show

ip route:路由相关的命令
ip route add:
添加路由:ip route add TARGET via GW dev IFACE src
TARGET:
主机路由:IP
网络路由:NETWORK/MASK
添加网关:ip route add defalt via GW dev IFACE
ip route delete:
删除路由:ip route del TARGET
ip route show:显示路由表信息
[dev DEVICE]:显示指定设备的路由信息
[root@web1 ~]# ip route show dev eth0  #查看指定设备的路由信息
[via PREFIX]:显示指定网关的相关信息
ip route flush:擦除路由表信息
[dev IFACE]:擦除指定设备的路由信息
[via PREFIX]:擦除指定网关的相关信息

ss命令:网络状态查看命令
格式:ss [OPTION]... [FILTER]
选项:
-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的连接
-a: 所有
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息
FILTER := [ state TCP-STATE ] [ EXPRESSION ]
查看指定指定状态 表达式匹配

TCP的常见状态:
tcp finite state machine:
LISTEN: 监听
ESTABLISHED:已建立的连接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED:已关闭的
EXPRESSION:
dport =
sport =
示例:’( dport = :ssh or sport = :ssh )’
常用组合:
-tan, -tanl, -tanlp, -uan

修改配置文件进行修改:
IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
路由相关的配置文件:/etc/sysconfig/network-scripts/route-IFACE

/etc/sysconfig/network-scripts/ifcfg-IFACE配置文件设置:
DEVICE:此配置文件应用到的设备;
HWADDR:对应的设备的MAC地址;
BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp;
NM_CONTROLLED:NM是NetworkManager的简写;此网卡是否接受NM控制;CentOS6建议为“no”;
ONBOOT:在系统引导时是否激活此设备;
TYPE:接口类型;常见有的Ethernet, Bridge;
UUID:设备的惟一标识;
IPADDR:指明IP地址;
NETMASK:子网掩码;
GATEWAY: 默认网关;
DNS1:第一个DNS服务器指向; DNS2:第二个DNS服务器指向;
USERCTL:普通用户是否可控制此设备;
PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中;

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

两种配置风格:
(1) TARGET via GW
(2) 每三行定义一条路由
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
给网卡配置多地址:
ifconfig:
ifconfig IFACE_ALIAS 要使用网卡别名
ifconfig eth0:0 192.168.0.22/24  #为eth0网卡设置别名为eth0:0,设置另一个地址为192.168.0.22
ip
ip addr add
配置文件:
ifcfg-IFACE_ALIAS
DEVICE=IFACE_ALIAS
注意:该配置文件需要自己创建。

网络接口识别并命名相关的udev配置文件:

/etc/udev/rules.d/70-persistent-net.rules
卸载网卡驱动:
modprobe -r e1000
装载网卡驱动:
modprobe e1000
配置当前主机的主机名:

hostname [HOSTNAME]
配置文件/etc/sysconfig/network:
HOSTNAME=
CentOS 7网络属性配置

(1) 网卡命名机制
systemd对网络设备的命名方式:
(a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1;
(b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1;
(c) 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0;
(d) 如果用户显式启动,也可根据MAC地址进行命名,enx2387a1dc56;
(e) 上述均不可用时,则使用传统命名机制;
上述命名机制中,有的需要biosdevname程序的参与;

(2) 名称组成格式
en: ethernet
wl: wlan
ww: wwan
名称类型:
o<index>: 集成设备的设备索引号;
s<slot>: 扩展槽的索引号;
x<MAC>: 基于MAC地址的命名;
p<bus>s<slot>: enp2s1
网卡设备的命名过程:
第一步:
udev, 辅助工具程序/lib/udev/rename_device, /usr/lib/udev/rules.d/60-net.rules
第二步:

biosdevname 会根据/usr/lib/udev/rules.d/71-biosdevname.rules
第三步:
通过检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description
ID_NET_NAME_ONBOARD, ID_NET_NAME_SLOT, ID_NET_NAME_PATH
回归传统命名方式:
(1) 编辑/etc/default/grub配置文件
GRUB_CMDLINE_LINUX="net.ifnames=0 rhgb quiet"
(2) 为grub2生成其配置文件
grub2-mkconfig -o /etc/grub2.cfg
(3) 重启系统
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息