Linux中使用nmcli配置网络
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中使用nmcli配置网络相关的知识,希望对你有一定的参考价值。
参考技术A 以前都是使用ifconfig来配置网络,今天开始尝试使用nmcli 。1、网络接口名称
centos7或者红帽7中,以en开头标识以太网,之前的版本是eth开头。同时,wl标识waln接口,ww标识wwan接口。
接下里就是网卡类型, p代表pci物理位置,o代表板载,s代表热插拔。最后数字表示索引、id或端口。 比如笔者的虚拟机上enp0s3,pci网卡slot3。
如果无法确定固定名称则采用传统的ethn的方式。
2、查看网络配置
使用ip addr显示ip地址,ip addr show eth0显示网卡eth0 , ip -s link show eth0 显示连接状态,可用查看到数据包。netstat -i也可以罗列网卡并查看数据流量。
3、查看路由与排查
ip route检查系统路由表,
ping网关地址。ping -c4是ping 4次, timeout 4则是超时时间4秒。
tracepath或者traceroute命令追踪到目标主机的网络状态。
4、端口与服务
TCP服务使用套接字.socket作为通信的端点,其由IP地址、协议和端口组成。服务器通常监听标准端口,客户端使用随机可用端口。标准端口在/etc/services中列出。
查看监听端口:ss和netstat命令。
5、使用nmcli查看网络
networkmanager是监控和管理网络的守护进程,可用通过命令行与图形界面来与networkmanager通信,并将配置文件保存在/etc/sysconfig/network-scripts目录中。
使用nmcli查看网络信息:
nmcli con show 查看网络接口
nmcli con show --active 查看活动网络接口
nmcli con show "enp0s3" 查看enp0s3网络的详情信息
nmcli device status 查看设备的信息
nmcli device show enp0s3 查看 enp0s3设备的信息
6、使用nmcli配置网络
可以为网络设备配置多个网络连接(配置文件),但是一次只能由一个保持活动状态。
创建一个"default"新连接,并使用dhcp获取网络。
nmcli con add con-name "default" type ethernet ifname eth0
创建一个静态连接,配置静态IP,并设置不自动连接。
nmcli con add con-name "static" type ethernet ifname eth0 autoconnect no ip4 172.25.0.12/24 gw4 172.25.0.254
更改为静态链接。
nmcli con up "static"
更改为dhcp链接。
nmcli con up "default"
查看使用信息。
nmcli con add help
修改配置,过多就不阐述了。
nmcli con mod
nmcli 命令摘要:
7、编辑网络配置文件
接口配置文件时控制单个网络设备的软件接口,网络设备可以有多个配置文件,但是只有一个时激活状态。
ifcfg配置文件选项(辅助IP地址将配置文件中的选项添加1)
配置过程:
a、修改 ifcfg配置文件
b、使用nmcli命令使配置生效或者重启进程
nmcli con reload
nmcli con down “ID” ,nmcli con up “ID”
c、通过ping验证网络配置
8、主机名和名称解析
hostname 查看主机名
hostnamectl status 查看主机信息
hostnamectl set-hostname 设置主机名
静态主机名储存在/etc/hostname文件中。名称解析用于将主机名转为IP地址,反之亦可,在/etc/hosts中定义。
可用使用getent hosts your_hostname,利用/etc/hosts来测试主机名解析。
如果/etc/hosts中没有,则会查找/etc/ resolv.conf文件。
+++++++icfg,ip,nmcli网络属性配置及网络客户端工具使用
Linux主机联网:ifcofnig,route,netstat,ip,ss
别名、主机名、接口命名
网络客户端工具命令: ftp,lftp,wget,lftpget
nmap,ncat,tcpdump工具
nmcli,nmtui <没有CentOS 7 不能使用。。以后在补>
Linux主机联网
1、配置IP
2、配置ROUTE
3、配置DNS
配置方式
1、命令行:立即生效,重启失效
2、配置文件
3、图形接口
配置方式
1、命令行配置: 配置在内核中的内存地址中,下次重启失效
1)ifcfg家族,ip家族
显示接口
显示启动# ifconfig
显示启用和禁用# ifconfig -a , ip addr show
显示指定接口# ifconfig IFACE , ip addr show [ dev IFACE|up ]
启动或停止指定接口# ifconfig IFACE up|down, ip link set up|down
配置接口属性: ifconfig metric N | [-]promise | mtu N
配置接口地址
修改地址:ifconfig IFACE address
附加地址: ip addr add address dev IFACE [broadcat|label|scope STRING]
删除地址: ip addr del address
查看地址: ip addr show|flush [ dev IFACE ] [label|scope|to STRING] [primary | secondary]
scope:默认global,host(只与主机通信),link(只响应与当前接口的ping)
显示路由: route -n , netstat -rn, ip route show|flush [dev|src|via STRING]
添加路由:
route add -host|-net address gw GW dev NAME [ metric N ]
ip route add address via GW dev NAME [ src ADDRESS ]
删除路由
route del address
ip route del address
网络状态查看工具
-t tcp
-u udp
-w raw
-l listen
-a all
-p pid/program
-e extend user,inode
-n numeric 默认将ip反解为名字
ss: -m momery , -o state TCP-STATE [EXPRESSION]
netstat: -i , -I<dev>
DNS测试:
dig -t A FQDN
host -t A FQDN
dig -x IP
host -t PTR IP
2)nmcli
2、编辑配置文件配置: 永久有效
/etc/sysconfig/network-scripts/ifcfg-NAME
DEVICE 同IFACE
HWADDR MAC地址
ONBOOT 系统启动时是否激活此设备
BOOTPROTO 设备启动时的引导协议
PEERDNS 如果BOOTPROTO为dhcp协议,是否让dhcp服务器分配的dns服务器覆盖本地的/etc/resolv.conf文件
USERCTL 是否允许普通用户启动此设备,(user:是否允许普通用户挂载此设备)
IPADDR,NETMASK,GATEWAY,DNS1,DNS2,DNS3
/etc/sysconfig/network-scripts/route-NAME
address via GW
ADDRESS#=
NETMASK#=
GATEWAY#=
/etc/resolv.conf
nameserver DNS_SERVER_IP1
nameserver DNS_SERVER_IP2
nameserver DNS_SERVER_IP3
3、图形接口配置
system-config-network-tui(setup)
nmtui
单个网卡多个地址
ifconfig eth0:0 address [ up | down ]
ip addr add address dev IFACE label LABEL [broad|scope STRING]
配置文件: /etc/sysconfig/network-scripts/ifcfg-eth0:0
UUID省略,HWADDR省略,BOOTPROTO=static (不能动态分配IP给别名)
图形配置: nmtui,system-config-network-tui
主机名:
hostname HOSTNAME
配置文件: /etc/sysconfig/network
网卡接口命名
/etc/udev/rules.d/70-persistent-net.rules
网络客户端工具命令: ftp,lftp,wget,lftpget
ftp命令 ,lftp命令 命令行客户端的交互式工具
wget命令,lftpget命令 ftp命令行客户端的非交互式工具
1、挂载光驱,配置yum源
# mount -r /dev/cdrom /media/cdrom
# vim /etc/yum.repos.d/CentOS-Local.repo
[CentOS6]
name=CentOS 6.1
failovermethod=priority
baseurl=file:///media/cdrom
gpgcheck=0
enabled=1
2、安装lftp,ftp工具
# dnf -q -y install lftp ftp
lftp命令
lftp [ -u user[,password] ] [ -p port 默认21] site
轻量的文件传输工具
1、支持命令行补全
2、支持glob通配符
3、lftpget命令是调用lftp命令完成下载
lftp内置命令:
1、帮助:help
2、下载:get,mget
3、切换目录:cd
4、以ls -l格式显示内容: ls
5、本地切换: lcd
6、!cmd
ftp命令
1、用法同lftp
2、不支持命令补全
wget命令
wget [OPTIONS...] URL
-P DIR 保存的路径
-O filepath 保存的位置及名字
-c 断点续传
# wget -c URL
-q 静默
--limit-rate=20k 限制带宽
-i file 从文件读取URL,批量下载
nmap,ncat,tcpdump工具
nmap命令
作用:主机发现、端口发现/枚举、服务发现、操作系统版本及硬件探测
root身份,默认以TCP SYN(-sS)方式扫描,半开放扫描
nmap 选项 地址定界
选项
-sL 扫描主机列表
# nmap -sL 192.168.1.1/24
-exclude IP/FILE 排除IP或文件中的IP
# nmap -sL 192.168.1.1/24 -excude 192.168.1.2
-p#,#,# 扫描端口
nmap -p22,80 192.168.1.1/24
-sS TCP SYN默认半开放扫描,2次握手,强行断开,对方主机根本不会记录
-sT 建立一次TCP连接,会进行3次,4次断开
-sU 扫描UDP端口,返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的。
-sF FIN包发送进行扫描(避免防火墙阻止syn扫描)
-sP 以ping的方式发现主机是否存在。ping HOST
-sV 扫描version。不扫描开放的端口,仅在扫描端口后,得知开放端口,并对开放的端口进行扫描,扫描开放端口对应的软件程序
-sL HOST 隐藏原IP
-O 扫描目标主机的操作系统
-PN 避免远程防火墙阻止ping,禁止ping操作
地址定界
1、FQDN
# nmap www.baidu.com
2、IP
# nmap 192.168.1.2
3、网络
# nmap 192.168.3.0/24
4、范围
# nmap 192.168.1.1-192.168.1.100
5、文件中的列表
# nmap -iL /PATH/TO/SOMEFILE
ncat命令
默认ncat为连接模式,tcp
连接模式和监听模式
连接模式:ncat作为客户端.连接host、Post. host必须提供,Port默认为31337
ncat host port
监听模式:服务端.host/post作为服务器绑定。默认host为所有地址。默认port为31337
ncat [options] host port
-l listen 监听
-m --max-conns NUM 访问ncat的最大并发数
-k --keep-open 在Listen模式中支持并发访问
-c , --sh-exec <command> 执行命令
--allow HOST 访问控制,只允许被给出的HOST访问ncat
A和B交流
Server A: # ncat -l 8888
Client B:# ncat 192.168.1.1 8888
A和B传输文件
Server A:# ncat -l 8888 < file.txt
Client B:# ncat 192.168.1.1 > file.txt
Server A:# ncat -l 8888 > file.txt
Client B:# ncat 192.168.1.1 < file.txt
A和B传输目录
Server A:# tar cf - dir | ncat -l 8888
Client B:# ncat 192.168.1.1 8888 | tar xf -
节约带宽:
Server A:# tar cf - dir | xz -q -9 | ncat -l 8888
Client B:# ncat 192.168.1.1 8888 | tar Jxf -
A和B传输加密
Server A:# nc localhost 1567 | mcrypt –flush –bare -F -q -d -m ecb > file.txt
Client B:# mcrypt –flush –bare -F -q -m ecb < file.txt | nc -l 1567
视频流
server 读文件 重定向至 ncat : cat file.avi | ncat -l 8888
client 从socket读数据 重定向至mplayer ncat 192.168.1.1 8888 | mplayer -vo x11 -cache 3000 -
克隆
dd if=/dev/sda | ncat -l 8888
ncat 192.168.1.1 8888 | dd of=/dev/sda
tcpdump命令
dump the traffice on a network
显示捕获数据包内容
-i IFACE
-l 缓冲输出行
-n 默认将数据转换为名字,numeric
-N 不打印完全限定域名的完整格式. Lcc.org只会显示 lcc
-p 不将接口处于混杂模式
-q 输出更少的信息
-v,-vv 输出更为详细的信息
-tt 打印未格式化的时间
-w file 数据包保存至文件
src、dst、port、host、net、ether、gateway 过滤选项
src 源主机IP
dst 目标主机IP
port 端口
host 仅显示与host相关的信息
net 与网络相关
gateway 用于网关的主机
源码安装tcpdump
1、依赖libcap库安装
1、分析功能由哪个包所提供 [[email protected] tmp]# rpm -q --whatprovides libcap libcap-2.22-8.el7.x86_64 2、查看包是否安装 [[email protected] tmp]# rpm -q libcap libcap-2.22-8.el7.x86_64
2、编译环境: gcc,glibc,autoconf,automake
# tar xf tcpdump-1.2.3.tar.gz # cd tcpdump-1.2.3 # ./configure --prefix=/usr/local/tcpdump # make -j 4 # make install
本文出自 “Reading” 博客,请务必保留此出处http://sonlich.blog.51cto.com/12825953/1958081
以上是关于Linux中使用nmcli配置网络的主要内容,如果未能解决你的问题,请参考以下文章