目录

网卡的配置

NetworkManager的使用

Team网卡绑定

Centos6.5、Redhat7、Kali网卡配置的不同

Kali桥接模式配置静态ip


网卡的配置

网卡命名的不同:

  • Rhel6 及其之前命名都是以 eth 开头,第一块网卡就叫 eth0 ,第二块网卡就叫 eth1
  • Rhel7 开始命名规则变了,eno1代表由主板BIOS内建的网卡 ;ens1代表由主板BIOS内建的PCI-E界面的网卡;enp2s0 代表PCI-E界面的独立网卡,可能有多个网卡接口,因此会有s0,s1的编号。以下是命名的规则
en:eethernet 以太网-双绞线
wl:wirelessLAN:无线网卡
ww:WAN广域网:串行线缆 o:on-board板载网卡
s:hotplug热插拔
p:PCI接口 N:序号或者ID

修改网卡名称

Rhel7中网卡的命名很多人觉得不熟,也不如以前那么直观。所以,我们可以把网卡的名称改成以前的 eth0 的形式

  1. vim /etc/default/grub   找到 GRUB_CMDLINE_LINUX行,直接到最后添加,net.ifnames=0 biosdevname=0
  2. grub2-mkconfig -o /boot/grub2/grub.cfg    更新配置文件
  3. 进入 /etc/sysconfig/network-scripts/ 目录,将网卡配置文件名称修改为ifcfg-eth0: mv  ifcfg-eno16777736   ifcfg-eth0     然后打开修改后的配置文件 ifcfg-eth0 将NAME修改为eth0:   NAME=eth0
  4. reboot    重启,使网卡名称重置

脚本实现修改网卡名称

#! /bin/bash
# Author=谢公子
# Date=2018-10-10
NAME=`ifconfig | awk -F: 'NR==1{print $1}'` ##网卡的名字
path="/etc/sysconfig/network-scripts/ifcfg-$NAME" ##网卡配置文件的路径
sed -i '/^GRUB_CMDLINE_LINUX/s/$/net.ifnames=0 biosdevname=0/' /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg
sed -i '/^NAME/d' $path
sed -i '$a NAME='eth0'' $path
mv $path /etc/sysconfig/network-scripts/ifcfg-eth0
reboot

修改 hostname主机名

  • 临时配置: hostname  xie   (Rhel6、7)
  • 永久配置: hostnamectl   set-hostname   xie    或        打开 /etc/hostname  ,修改为 xie    (Rhel7)

网络测试命令

  • ifconfig    、  ip  address   、  ip  address  show 、nmcli  device   show (Rehl7)      查看网卡信息
  • ip  route   、  route -n  查看路由表
  • ip  neigh        查看邻居,也就是同一网段的地址。相当于一个ARP地址表
  • ip -s link show eth0   可以看到网卡设备接受和发送数据包的情况
  • tarceroute / tracepath  www.baidu.com        跟踪到达目标主机所经过的每一跳

网卡的设置(临时)

  • 设置网卡ip: ifconfig  eth0  192.168.10.10/24     或   ifconfig  eth0  192.168.10.10  netmask   255.255.255.0
  • 设置网卡MAC地址:ifconfig  eth0  hw  ether  00:1c:3g:df:sf:4f
  • 设置网卡虚拟ip: ifconfig  eth0:0   10.10.10.10
  • 启用网卡:ifconfig  eth0  up        或   ifup  eth0
  • 禁用网卡:ifconfig  eth0  down    或   ifdown  eth0

路由条目的设置(临时)

  • 添加路由表中默认网关记录:route add  default  gw  网关ip
  • 添加路由表中指定网段的路由记录:route  add  -net  10.10.10.10/24   gw   网关ip
  • 删除路由表中默认网关记录:route  del  default  gw  网关ip
  • 删除指定网段路由记录:route  del  -net   10.10.10.10/24

网卡、路由、DNS的永久设置(Rhel6、7):

Rhel7中,网卡配置文件在 /etc/sysconfig/network-script/ifcfg-xxxx  ,路由条目和网关在同一个目录,只不过名称为 route-xxx,如果之前不存在这个文件,则新建该文件, xxx为网卡名称。hosts文件在 /etc/hosts 下,DNS配置文件在 /etc/resolv.conf

//修改网卡配置,vim  /etc/sysconfig/network-script/ifcfg-xx
DEVICE=eth0 //设备名称
ONBOOT=yes|no //是否启用该设备
BOOTPROTO=none|static|dhcp //手动(none/static)还是自动(dhcp)
IPADDR1=192.168.182.123 //根据自动获取的IP配置
PREFIX1=24 //子网掩码
IPADDR2=100.100.100.100 //第2个ip
PREFIX2=24 //第2个ip的掩码
GATEWAY=192.168.182.1 //网关
TYPE="Ethernet" //网络类型
HWADDR=00:ff:ce:88:82:1d //MAC地址
NAME="eth0" //连接名
DNS1=8.8.8.8 //DNS1 会自动添加到 /etc/resolv.conf文件中
DNS2=114.114.114.114 //DNS2 //永久增加一个路由条目 vim /etc/sysconfig/network-script/route-xx (网关地址必须是我们主机可达的)
10.1.0.0/8 via 192.168.10.10 //永久增加一个DNS解析,打开hosts文件 vim /etc/hosts
192.168.100.100 www.baidu.com //永久增加一个DNS服务器,打开resolv.conf文件 vim /etc/resolv.conf
nameserver 8.8.8.8

NetworkManager的使用

Rhel6和7中都采用了网络管理器(NetworkManager)管理网络( Rhel6中建议关闭NetworkManager,因为支持不完善,经常出错),NetworkManager是一个动态的网络控制器与配置系统,它可在网络设备保持可用和连接时对设备进行操作。NetworkManager是服务名就是NetworkManager.service ,但是命令是 nmcli 。在Rhel7中,一个网卡设备可以有多个connection连接,但是同一时刻只能启用其中一个connection连接。每新建一个连接,都会在 /etc/sysconfig/network-scripts/ 目录下新建文件。这样的好处是针对一个网络接口,可以设置多个网络连接,比如静态IP和动态IP,再根据需要激活响应的connection连接。(connection连接就相当于是对网卡的一个配置,多个connection就是多个配置,但是同一时刻只能激活一个配置)

NetworkManager提供的工具:

  • nmcli (network manager command line interface)
  • nmtui (network manager text user interface)
  • nm-connect-editor(network manager-connect-editor)

NetworkManager的使用:

  • 查看所有连接:nmcli  connection  show
  • 查看某个连接具体信息:nmcli  connection  show  xie
  • 查看所有网卡物理状态:nmcli  device status
  • 查看所有网卡配置:nmcli  device  show
  • 查看指定网卡配置:nmcli  device  show  eth0    或   ifconfig  eth0
  • 重启网卡:  systemctl  restart  network  或  nmcli  connection reload;nmcli connection down xie;nmcli connection up xie

connection连接的设置(Rhel7):

  • 为网卡增加新的连接:nmcli  connection  add  con-name  eth0-manual  ifname  eth0  type  ethernet  ip4  192.168.20.20/24  gw4  192.168.20.254        //建立连接的同时指定ip和网关,ipv4.method=manual
  • 为网卡增加新的连接:nmcli  conection add  con-name  eth0-auto  ifname eth0  type  ethernet   //建立连接但是不指定ip和网段,自动获取ip和网关 , ipv4.method=auto
  • 删除一个连接:nmcli connection  delete  eth0-auto
  • 修改连接的ip:nmcli  connection  modify   eth0-auto  ipv4.addresses  192.168.20.100/24
  • 给连接增加一个从ip:nmcli  connection  modify   eh0-auto   +ipv4.addresses  192.168.20.200/24
  • 给连接增加DNS服务器:nmcli  connection  modify  eth0-auto  ipv4.dns  192.168.20.254
  • 激活连接:nmcli  connection  up  eth0-auto
  • 关闭连接:nmcli  connection  down eth0-auto

Team网卡绑定

在 linux 中, Rhel7 之前都是使用 bond 机制来实现多网络绑定同一个 IP 地址,来对网络提供访问,并按不同的模式来负载均衡或者轮回接替管理处理数据。而到了 Rhel7 之后,提供了一种强大的工具, nmcli 工具命令,使用此工具,将会根据命令参数的配置来重新生成特定的配置文件来供网络接口使用,方便而又灵活。在 Rhel7中,不再使用 bond 机制定义,而是使用网路组 team 机制,把 team 组当作一个设备

Team网络组的模式:

  • broadcast:每个网卡都传送数据包
  • roundrobin:每个网卡轮询方式传送数据
  • activebackup:网卡之间有主备,主传送数据包,备的不传送,主网卡down了,备才传送
  • loadbalance:监控流量并使用哈希函数,使得每个网卡传送的数据包达到相等
  • lacp:需要借助交换机,实现高级的负载均衡

Team的配置:

  • 创建一个Team设备,命名为team0:  nmcli  connection  add   type   team   con-name   xie    ifname   team0   config   ' { "runner":{" name " : " loadbalance " } }'
  • 设置team0组的ip地址获取方式: nmcli connection modify xie ipv4.method manual
  • 设置team0组的ip、网关等信息: nmcli connection modify xie ipv4.addresses  192.168.100.100/24  ipv4.gateway 192.168.100.254
  • 将指定网卡加入team0中: nmcli  connection  add type  team-slave  connection-name  team0-port1  ifname  eth1  masher   team0
  • 开启/关闭 team0:nmcli  connection  up/down  team0
  • 查看team0状态:teamdctl  state  team0

管理Team0的网络组成员:

  • 从team0中移除eth1: nmcli  device  disconnect  eth1
  • 从team0中增加eth1: nmcli   device  connection  eth1
  • 将team0组中的port1关闭:nmcli  connection  down  team0-port1
  • 将team0组中的port1开启:nmcli  connection  up  team0-port1

Centos6.5、Redhat7、Kali网卡配置的不同

Centos6.5 和 Redhat7 中网络服务是 network ,而Kali中是 networking 。

首先三者都有 NetworkManager管理工具,但是Centos6.5中支持的不好,经常容易出错,所以建议在Centos6.5中关闭NetworkManager。

Centos6.5和Redhat7中的网卡的配置文件都是在目录:/etc/sysconfig/network-scripts/  下,每个连接都有对应 ifcfg-连接名 的配置文件。因为Centos6.5中建议关闭NetworkManager管理工具,所以Centos6.5中的网卡配置文件就是  ifcfg-eth0 ,而Redhat7中的话,每个连接都会在该目录下有一个 ifcfg-连接名  的配置文件

而kali的网卡配置文件则是:/etc/network/interfaces  这个文件,这个文件用于描述主机中所有的网络接口的信息,不论Linux主机中使用DHCP获取ip地址还是配置使用静态ip地址,都需要对该文件进行修改。

Kali桥接模式配置静态ip

修改网卡配置文件:vim  /etc/network/interfaces

修改dns配置文件:vi /etc/resolv.conf

重启网络:service networking restart

防止网卡没开,再开一遍:ifup eth0

相关文章:Redhat中网络启动错误解决办法( Failed to start LSB: Bring up/down networking RTNETLINK answers: File exists)

Linux中的网络配置的更多相关文章

  1. Linux中CentOS网络配置以及与Xshell建立远程连接

    为centos配置网络 (1)第一步 点开虚拟机的设置,如下图做相关的设置: 网络连接要选择桥接模式,其他的勾选就按照上图的即可,勾选完成点击确定. (2)第二步 点击VMware的编辑选项,找到“虚 ...

  2. Linux系统安装和网络配置

    系统下载 CentOS 6.x 50% 6.9    ---- 常用 CentOS 7.x 50% 7.2   ----常用 官网-国外 https://wiki.centos.org/Downloa ...

  3. Linux中redis安装配置及使用详解

    Linux中redis安装配置及使用详解 一. Redis基本知识 1.Redis 的数据类型 字符串 , 列表 (lists) , 集合 (sets) , 有序集合 (sorts sets) , 哈 ...

  4. 【转】Linux - CentOS 7网络配置

    Linux - CentOS 7网络配置 https://blog.csdn.net/J080624/article/details/78083988   安装完VM后,需要进行网络配置.第一个目标为 ...

  5. Linux系统基本网络配置之ifconfig命令

    Linux系统基本网络配置之ifconfig命令 一.Linux系统的网络配置基本包括:网络IP的配置.网关路由的配置.主机DNS的配置.主机名的配置等,本篇注重介绍网络IP的配置. 二.Linux系 ...

  6. (转)Linux系统基础网络配置老鸟精华篇

    Linux系统基础网络配置老鸟精华篇 原文:http://blog.51cto.com/oldboy/784625 对于linux高手看似简单的网络配置问题,也许要说出所以然来也并不轻松,因此仍然有太 ...

  7. Linux 7.X 网络配置

    Linux 7.X 网络配置 环境: 笔记本中安装了虚拟机,在虚拟机中安装了Redhat 7.4版本的操作系统,现配置该操作系统网络.(IP.网关等) 相关指令如下: # nmcli connecti ...

  8. Linux中VSFTP的配置

    配置VSFTP服务器: 1.安装VSFTP,可以参考Linux 中yum的配置来安装: yum installvsftpd.x86_64 -y 2.修改SELinux: setenforce 0 查看 ...

  9. Linux 中的网络数据包捕获

    Linux 中的网络数据包捕获 Ashish Chaurasia, 工程师 简介: 本教程介绍了捕获和操纵数据包的不同机制.安全应用程序,如 VPN.防火墙和嗅探器,以及网络应用程序,如路由程序,都依 ...

随机推荐

  1. 关于KMP算法中,获取next数组算法的理解

    参考:KMP入门级别算法详解--终于解决了(next数组详解) https://blog.csdn.net/lee18254290736/article/details/77278769 在这里讨论的 ...

  2. Java 多线程 02

    多线程·线程间通信 和 GUI 单例设计模式 * A:单例设计模式 * 保证类在内存中只有一个对象 * B:如何保证 * a:控制类的创建,不让其他类来创建泵类的对象,私有化构造方法 * b:在本类中 ...

  3. docker在vulhub中的使用命令合集

          (1)docker  ps(查询 docker 进程的所有容器) (2)docker  info(查看docker详细信息) (3)service docker start(启动docke ...

  4. dubbo实战之四:管理控制台dubbo-admin

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  5. c++ 11 是如何简化你的数据库访问接口的

    之前写过一篇文章专门分析了 c++ 模板编译过程中报的一个错误:<fatal error C1045: 编译器限制 : 链接规范嵌套太深 >,其中涉及到了 qtl -- 一个使用 c++ ...

  6. P3796 【模板】AC自动机(加强版) 题解(Aho-Corasick Automation)

    题目链接 AC自动机 解题思路 AC自动机模板题. 刚学AC自动机,写一篇博客增强理解. AC自动机最关键的一点在于,\(fail\)失配指针的构造. \(fail\)指针指向的地方,是匹配出现错误后 ...

  7. python基础学习之类的属性 增删改查

    类中的属性如何在类外部使用代码进行增删改查呢 增加.改变: setattr内置函数以及 __setattr__魔法方法 class A: aaa = '疏楼龙宿' a = A() setattr(a, ...

  8. Kubernetes 实战 —— 03. pod: 运行于 Kubernetes 中的容器

    介绍 pod P53 pod 是 Kubernetes 中最为重要的核心概念,而其他对象仅仅用于 pod 管理. pod 暴露或被 pod 使用. pod 是一组并置的容器,代表了 Kubernete ...

  9. POJ_2065 SETI 【同余高斯消元】

    一.题目  SETI 二.分析 给定一个模数,一串字符串,字符串长度为N,相当于是N个方程的答案,而这N个方程中有N个未知数,要求的就是这N个未知数的值,很显然的高斯消元,遇到模数和除法,用逆元就好. ...

  10. Azure Cost alerts 费用成本分析

    一,引言 依稀记得在一月初,我们在 Azure 上做成了一个 费用警报的监控,果不其然,前两天 Azure 给我发了两封封 Azure 预警警报的邮件,提醒我的预算的总费用超过了设置的通知阈值 &qu ...