CentOS 7.4 ifconfig, ip/ss, nmcli, nmtui, 配置文件 修改ip信息用法
CentOS 7.4 中, 网卡命名方式发生改变, 可预测功能命名:
网卡简要名称组成格式:
- 前缀
- en: ethernet
- wl:wlan //无线局域网设备
- ww:wwan //无线广域网设备
- 名称类型
- o<index>:集成设备的设备索引号
- onboard板上集成
- s<slot>: 扩展槽的索引号
- x<MAC>:基于MAC地址的命名
- p<bus>s<slot>: PCI总线号+插槽号
- 栗子: enp2s3: 第二个bus第三个插槽
如何回归 CnetOS 6 传统命名方式, 即eth0,1,2...
编辑/etc/default/grub配置文件
-4-[root@vm]21:00 ~ # cat /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
在GRUB_CMDLINE_LINUX行中插入: "net.ifnames=0 rhgb quiet",
GRUB_CMDLINE_LINUX表示启动时给内核的参数,
"net.ifnames=0 rhgb quiet"表示系统启动过程中不对网卡进行重命名;
即:
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet net.ifnames=0 rhgb quiet"
2.使用grup2生成其配置文件
-5-[root@vm]21:11 ~ # grub2-mkconfig -o /etc/grub2.cfg
3.reboot
Linux接入网络简明设置
需求:
- ip/mask
- 路由:默认网关
- DNS服务器
- 可配置三个DNS服务器
配置方式:
命令行模式:
ifconfig / route / netstat<推荐使用ss>
- ifconfig
- ifconfig –a 显示所有网卡信息
- ifconfig INTERFACE [up|down] 激活或禁止某网卡
- ifconfig 接口 IP/mask [up] 设置某网卡ip地址及MASK
- 启用混杂模式: [ - ]promisc //监控常用
- route 路由管理命令
- route –n 以数字形式代替解释主机名形式来显示地址。此项对试图检测对域名服务器进行路由发生故障的原因非常有用;
- route add 添加路由
- route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
- -net 路由目标为网络
- -host 路由目标为主机
- e.g.
- 目标192.168.50.10
- 地址192.168.50.1
- # route add –host 192.168.50.10[/24] gw 192.168.50.1 dev ens33
- 即访问192.168.50.10时, 从192.168.50.1的主机进行路由
- route del删除路由
- route del [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
- route del –host 192.168.50.10
- netstat - 显示网络连接,路由表,接口状态,伪装连接,网络链路信息和组播成员组。
- netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a][--numeric|-n][--extend|-e[--extend|-e]][--program|-p]
- -t: tcp协议
- -u:udp协议
- -w: raw socket裸套接字
- -l: 处于监听状态
- -a:所有
- -n: 以数字显示内容
- -e: 扩展模式
- -p: 显示相关进程及PID
- -r: 显示路由表
- -i [-Iens33] 显示接口信息(-I后没有空格直接跟接口名)
- 常用组合:
- -tan: 查看所有tcp协议连接
- -uan:
- -tnl: 处于监听状态的tcp连接
- -unl
- ss命令 -另一个实用程序来查看套接字
- ss用于转储套接字统计信息, 效率比netstat高,推荐使用
- ss [ OPTIONS ] [ FILTER ]
- -a: 打印所有
- -n: 数字展示
- -l: 监听状态
- -r:尝试解析数字端口
- -e:扩展模式
- -t, –u, –p, –w
- 基本与netstat选项无二致; 常用组合相同;
- ip命令
- ip [ OPTIONS ] OBJECT { COMMAND | help }
- OBJECT := { link | address | route}
- link:
- ip link - network device Configuration
- ip link set dev INTERFACE [up|down]
- show [dev DEVICE] [up]
- [dev DEVICE] : 指定接口
- [up]: 仅显示处于激活状态的接口
- addr
- ip addr { add | del } INTERFACE dev STRING
- add
- [label ‘LABEL’]: 添加网址时指定网卡别名
- [ scope {global | link | host} ]: 指明作用域
- global: 全局可用;
- link: 仅链接可用;
- host: 本机可用;
- [ broadcast ADDRESS ] : 指明广播地址 //有用吗?默认不都是255?
- ip addr show
- 查看ip信息, 基本等同与ifconfig
- ip route - routing the table
- 添加路由: # ip route add TARGET via GW dev INTERFACE src SOURCE_IP
- TARGET = IP/MASK
- GW = Gateway
- 添加网关: #ip route add default via GW dev INTERFACE
- ip route del 删除路由
- ip route del TARGET
- ip route show/list 打开路由表
- ip route flush
- 清空路由表
- [via PREFIX] 只清空或显示与指定网关相关的
- flush 清空整个路由表
- [dev INTERFACE] 指定接口的路由表
- nmcli 配置ip地址
- nmcli [ OPTIONS... ] OBJECT [ COMMAND ] [ ARGUMENTS... ]
- OBJECT : { help | connection | device }
- device - show and manage network interfaces //查看管理接口
- connection - start, stop, and manage network connections
- nmcli connection modify IFACE [+|-] setting.property value //修改ip地址
- ipv4.addresses
- ipv4.gateway
- ipv4.dns1
- modify可修改内容包含: [connection, 802-3-ethernet (ethernet), 802-1x, dcb, ipv4, ipv6, proxy]
- 如果更改信息后没有生效: #nmcli device down ens33; nmcli device up ens33
- 或者重启网络服务
- nmcli device [ up | down ] [ INTERFACE ]
- nmcli device show [ INTERFACE ]
图形界面模式:
- nmtui-->简单操作易上手
- setup接口进入nmtui
- 注意: 直接存入配置文件, 需要重启网络服务 service network restart
修改配置文件: //推荐使用, 一次更改永久有效
- IP/MASK, GW, DNS相关配置文件:
- /etc/sysconfig/network-scripts/ifcfg-INTERFACE
--[root@vm]: /etc/sysconfig/network-scripts # cat ifcfg-ens33
HWADDR=:0C:::AA:F0 //MAC地址
TYPE=Ethernet //模式以太网
PROXY_METHOD=none //代理
BROWSER_ONLY=no //仅允许浏览器上网?
BOOTPROTO=static //设备激活时的获取IP方式;如果此处设置为dhcp,且指定IPADDR, 则会给网卡建立两个ip地址, 一个为IPADDR指定, 一个为dhcp指定
IPADDR=192.168.142.128 //IPv4地址
PREFIX= //子网掩码位数, C类地址为24
GATEWAY=192.168.142.2 //网关
DNS1=192.168.142.2 //DNS1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes //IPv6初始化, 一般用不到
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=WiredCon1 //Connection名称
UUID=2ba059ee-b4c2-3d7f-8eda-9085dea1b1d0
ONBOOT=yes //开机启动
AUTOCONNECT_PRIORITY=-
====================
BOOTPROTO=static //设备激活时获取IP的方式; 如果此处设置为dhcp,且指定IPADDR, 则会给网卡建立两个ip地址, 一个为IPADDR指定, 一个为dhcp指定; 设置dhcp且指定ip, 运行#nmcli connection show WiredCon1可查看到两个IP地址, 而且都可以访问; IP4.ADDRESS[1]: 192.168.142.128/24
IP4.ADDRESS[2]: 192.168.142.131/24
而运行#ifconfig则只能看到其中一个IP; 此时运行 #nmcli connection del 无效; ip addr del也无效; 仅需更改dhcp为static, 重启网络服务即可固定一个ip地址;或单独开启dhcp而不指定ip; # systemctl restart network.service //重启网络服务 这里推荐一个工具netmask, 这是一个ip网段/子网掩码的转换工具, 详细请看博客;
- 路由相关的配置文件:
- /etc/sysconfig/network-scripts/route-INTERFACE (默认此文件不存在, 需要建立)
- 内容配置如下
- a>TARGET via GW
- b>ADDRESS#=TAREGT
NETMASK#=MASK
GATEWAY#=GW - 二选一配置即可
- DNS服务器指定
- /etc/resolv.conf
- nameserver DNS-IP1
- nameserver DNS-IP2
- nameserver DNS-IP3
- 给网卡配置多地址:
- ifconfig:
ifconfig IFACE_ALIAS IP/MASK
# ifconfig ens33:0 192.168.50.123/32 up - ip:
ip addr add IP/MASK dev ens33
ip addr del 192.168.50.123/32 dev ens33:0 - nmcli:
- nmcli device modify ens33 +ipv4.addresses 192.168.50.12/24
- nmcli connection modify [连接名称-WiredCon1] +ipv4.addresses 192.168.50.12/24
- 通过device或这con修改的ip地址同时需要对应命令删除或修改
- 配置文件:
ifcfg-ens33_ALIAS
DEVICE=ens33_ALIAS
注意: 网关别名不能使用dhcp协议引导;
杂项:
主机名称配置工具:
hostnamectl
status
set-hostname 'NAME'
或者
配置文件:
#vim /etc/sysconfig/network
HOSTNAME='NAME'
# systemctl restart network.service //重启网络服务
设置默认启动界面为命令行: systemctl set-default multi-user.target
命令行下启动图形界面: startx
TCP的常见状态:
tcp finite state machine:
LISTEN: 监听
ESTABLISHED: 已建立的连接
FIN_WAIT_1
FIN_WAIT_2
SYN_SENT
SYN_RECV
CLOSED