Linux基础——03 网络配置
- 03 网络配置
- 网络管理基础知识
- NetworkManager
- 命令终端配置网络(多用于服务器)
- 命令行配置网络nmcli
- 修改网卡状态
- 修改网卡配置
- 常见网络命令
- 网络常见故障
03 网络配置
网络管理基础知识
操作系统网络连接方式
- 按物理连接方式分裂
- 有线接入、无线接入
- 主机接入网络需要的主要配置信息
- IP地址:互联网上的每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异
- 子网掩码:用于实现本地网络通信
- 网关:可以进行跨网络通信
- DNS:域名和IP地址相互映射的一个分布式数据库服务器
NetworkManager
-
NetworkManager介绍
- 麒麟操作系统的默认网络管理组件
- 一个动态网络控制和配置守护进程——尝试在其可用时保持网络设备和连接处于活动状态
- 所有连接的配置文件保存在/etc/NetworkManager/system-connections
-
NetworkManager组成
应用程序或工具 描述 NetworkManager 默认联网守护进程 nm-connection-editor 设置网络连接的一个界面工具 nmtui NetworkManager 的使用光标的简单文本用户界面(TUI) nmcli 允许用户及脚本与NetworkManager互动的命令行工具 注:在之前的Kylin版本中,麒麟操作系统也支持采用传统的ifcfg类型配置文件来配置和连接网络
命令终端配置网络(多用于服务器)
-
networking管理的网络接口文件/etc/NetworkManager/system-connections
不同操作系统,网络配置文件位置不一致
-
DNS配置文件/etc/resolv.conf
-
主机名静态查询配置文件 /etc/hosts
命令行配置网络nmcli
-
nmcli:用户和脚本都可使用命令行工具nmcli管理NetworkManager
-
命令的基本格式:
nmcli OPTIONS OBJECT{ COMMAND | HELP}
两个帮助命令:
nmcli help
nmcli con help
nmcli选项 | 说明 |
---|---|
nmcli general status | 显示NetworkManager总体状态 |
nmcli connection show | 显示所有连接 |
nmcli connection show --active | 只显示当前活动连接 |
nmcli device status | 显示由NetworkManager 识别到的设备及其状态 |
nmcli connection modify | 修改连接 |
connection 可以简写成 con
modify 可以简写成mod
修改网卡状态
nmcli 选项 | 说明 |
---|---|
nmcli connection up | 启用网络连接 |
nmcli connection down | 停用网络连接 |
nmcli device disconnect | 禁用网卡 |
nmcli connection delete | 删除网络连接的配置文件 |
nmcli connection reload | 重新加载网络配置文件 |
- nmcli con down id mylab
- nmcli con up id myline
- nmcli dev disconnect iface bond0
- nmcli dev connect iface ens33
修改网卡配置
nmcli 选项 | 说明 |
---|---|
nmcli connection modify mylink connection.autoconnect yes | 设置为自动启动网卡 |
nmcli connection modify mylink ipv4.method manual | 修改IP地址获取方法为手动 |
nmcli connection modify mylink ipv4.method auto | 修改IP地址获取方法为自动 |
nmcli connection modify mylink ipv4.addresses | 修改IP地址 |
nmcli connection modify mylink ipv4.gateway | 修改网关 |
nmcli connection modify mylink ipv4.dns | 修改DNS |
nmcli connection add type ethernet ifname mylink con-name mylink | 添加网络连接 |
常见网络命令
现在处于新旧命令交替的过渡阶段
-
net-tools与iproute2的交替
-
ifconfig、route、arp和netstat等命令行工具(统称为net-tools)
- 使用时间久,社区已经停止维护
-
iproute2 通过netlink套接字接口与内核通讯
-
使用时间短,仍在开发中
用途 net-tool工具 iproute2工具 地址和链路配置 ifconfig ip addr,ip link 路由表 route ip route 邻居 arp ip neigh 统计 netstat ss
-
-
-
**ping **
- eg: ping 192.168.64.33
-
netstat
-
命令所在路径: /bin/netstat
-
功能描述: 查看网络相关信息
-
基本语法:netstat [-选项]
netstat选项 说明 netstat -tlun 查看本机占用端口 netstat -tlunp 查看本机占用的端口,并显示对应的进程号和进程名称 netstat -an 查看所有的网络服务占用的端口(包括已经建立的连接信息)和系统程序的相关程序 netstat -ant 查看使用TCP协议的网络服务占用的端口(包括已经建立的连接信息) netstat -rn 查看本机的路由表
-
-
arp
-
命令所在路径: /usr/bin/arp
-
功能描述:arp命令用于操作主机的arp缓冲区,它可以显示arp缓冲区中的所有条目、删除指定的条目或者添加静态的ip地址与MAC地址对应关系
-
常见用法:
netstat选项 说明 arp -a 显示本机的ARP表 arp -s 修改arp表,添加静态项 arp -d 删除arp表中IP地址对应的MAC地址表项
-
-
route
-
功能描述:用于IP路由器的显示和操作。
-
命令格式: route [-f] [-p] [Command[Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]
-
常见用法
route选项 说明 -A 设置地址类型 -C 打印将Linux核心的路由缓存 -n 不执行DNS反向查找,直接显示数字形式的IP地址 -e netstat格式 显示路由表 -net 到一个网络的路由表 -host 到一个主机的路由表 设置默认网关的方法:
? route add default gw 192.168.64.1
? route add default gw 192.168.64.1 dev eth33删除默认网关的方法:
? route del default
? route del default gw 172.16.0.1添加静态路由的方法:
? route add -net 10.0.0.0/8 gw 192.168.64.100 dev eht33
删除静态路由的方法:
? route del -net 10.0.0.0/8
-
-
nslookup
- 命令所在路径:/usr/bin/route。默认没有安装,需要安装dnsutils包才能使用该命令。
- 功能描述:查询域名对应的IP地址。
- 命令格式:nslookup -q=type domain [dns-server]
- 常见用法
- nslookup www.baidu.com:查询网站www.baidu.com对应的ip地址
- nslookup -q=mx 126.com 8.8.8.8: 使用域名服务器8.8.8.8查询126.com的邮件服务器地址。
- nslookup -q=nx 126.com 8.8.8.8 查询域126.com的域名服务器地址
-
网络配置工具:IP
- 命令所在路径:/sbin/ip
- 功能描述:显示或操纵主机的路由、网络设备、策略路由和隧道
- 语法:ip [OPTIONS] OBJECT [COMMAND[ARGUMENTS]]
- 用法功能比较多,根据不同场景选择使用
yinmy@yinmy-vmware:~$ ip --help Usage: ip [ OPTIONS ] OBJECT { COMMAND | help } ip [ -force ] -batch filename where OBJECT := { link | address | addrlabel | route | rule | neigh | ntable | tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm | netns | l2tp | fou | macsec | tcp_metrics | token | netconf | ila | vrf | sr | nexthop } OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] | -h[uman-readable] | -iec | -j[son] | -p[retty] | -f[amily] { inet | inet6 | mpls | bridge | link } | -4 | -6 | -I | -D | -M | -B | -0 | -l[oops] { maximum-addr-flush-attempts } | -br[ief] | -o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] | -rc[vbuf] [size] | -n[etns] name | -N[umeric] | -a[ll] | -c[olor]}
网络常见故障
? 由于实现网络服务器的层次结构比较多,当网络出现故障时,解决起来比较复杂。可能出现的网络问题主要有:
-
网络连接问题
-
网络配置问题(防火墙策略等)
-
网卡硬件问题
-
驱动程序问题
-
网络层、传输层、应用层问题等
遇到网络问题时,采取排除法 逐个排查