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配置网络的主要内容,如果未能解决你的问题,请参考以下文章

[转帖]LINUX网络配置---nmtui&nmcli

+++++++icfg,ip,nmcli网络属性配置及网络客户端工具使用

Linux nmcli 网络管理

通过nmtui和nmcli配置网络服务

centOS7 通过nmtui和nmcli图形配置网络服务

centOS7 通过nmtui和nmcli图形配置网络服务