网络入门(一)

编程

笔者作为一个文字的搬运者,也是一个小白用户,因为老熬夜记忆力很是糟糕,一直靠别人笔记过活。这是笔者整理的在Linux中与上网有关的一些配置文件和小命令。

同样,只是笔迹,没有教学,怕误人子弟。见谅。

LINUX中于网络相关的配置文件

笔者作为一个文字的搬运者,也是一个小白用户,因为老熬夜记忆力很是糟糕,一直靠别人笔记过活。这是笔者整理的在Linux中与上网有关的一些配置文件和小命令。

 

一、与网卡名相关的配置文件

centos5:

  centos5在/etc/modprobe.conf文件中是使用别名定义的网卡名

    alias eth0 e1000

    可以在此处修改。

centos6:

  centos6中的网卡名默认是eth0,当新增删除网卡的时候网卡名会发生变化,可能会被顶替

  centos6中可以修改/etc/udev/rules.d/70-presistent-net.rules文件中

 

  DELL公司电脑可能会在BIOS中启用bisodevname的软件会把网卡名命名成

    主板集成网卡会命名成em1 em2 。。。

    PCI类型网卡会命名成pYpX Y:表示插槽,X:表示端口,第几个接口

 

  永久修改,修改配置文件:

    默认是eth0   eth1 ....

    编辑/etc/udev/rules.d/70-persistent-net.rules文件中的网卡信息,来修改网卡名

    重启计算机 或者 卸载网卡驱动再加载网卡驱动。modprobe -r e1000 ; modprobe e1000

  临时修改,利用命令修改:

    先禁用网卡,在修改网卡名

    ip link set eth0 down

    ip link eth0 name Newname

 

centos78:

  centos78中的网卡名是基于硬件、设备拓扑和设备类型命令。

  systemd对网卡的命名:

    1. 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,如:eno1

    2. 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,如:ens1

    3. 如果硬件接口的物理位置信息可用,则根据此信息命名,如:enp2s0

    4. 如果用户显式启动,也可根据MAC地址进行命名,如:enx2387a1dc56

    5. 上述均不可用时,则使用传统命名机制

 

  使用传统命名方法:

    修改/etc/default/grub中

      GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"

    为grub2生成其配置文件

      gurb2-mkconfig /boot/gurb2/gurb.cfg

 

 

二、与IP/NETMASK/GATEWAY/DNS相关配置文件

  centos5678通用方法

  编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件,来修改IP地址

    MACADDR=11:22:33:44:55:66    临时需改MAC地址

    DEVICE=NET_NAME          指定网卡名

    NAME=NET_NAME          指定网卡名

    BOOTPROTO=static        指定IP获取类型,none   dhcp    static,如果为DHCP就会自动从dhcp服务其上获取IPNEMASTDNSGATEWAY等相关信息

    IPADDR=10.0.0.8          指定IP地址

    NETMASK=255.255.255.0      指定子网掩码

    PREFIX=24           指定掩码长度,CIDR的写法

    GATEWAY=10.0.0.1        指定默认网关,用于跨网段通信

    DNS1=222.222.222.222       指定默认DNS

    DNS2=             指定备用DNS

    ONBOOT=yes           开机自启动

    MOMAIN=haha.com       自动补充搜索域名

  

  如果想要在一个网卡上设置多个IP地址,网卡别名需要静态指定,不能动态获取。

  同时这个配置文件名需要时ifcfg-eth#:#,对应的DEVICE和NAME中需要对应的改成eth#:#

 

图形管理工具:

  centos56:

    setup

    system-config-network-tui

 

  centos78:

    nmtui

    nmtui-connect

    nmtui-edit

    nmtui-hostname

 

三、与主机名相关的配置文件

  centos6:

    编辑/etc/sysconfig/network文件,来修改主机名

    hostname命令可以临时修改主机名

  centos78:

    编辑/etc/hostname文件,来修改主机名

    hostname命令可以临时修改主机名

     hostnamectl set-hostname HOSTNAME  此命令会立即生效,同时会修改配置文件

    备注:如果/etc/hostname文件不存在,主机名会默认改成localhost.localdomain

 

四、与路由相关的配置文件

需要手工创建:

保存再/etc/sysconfig/nework-scripts/route-IFACE route-固定格式 IFCAE用对等的网卡名替换

 

两种写法:

  第一种:

    10.0.0.8/8 via 172.16.0.1

 

  第二种:

    ADDRESS0=10.0.0.8

    NETMASK0=255.0.0.0

    GATEWAY0=172.16.0.1

 

    ADDRESS1=10.0.0.8

    NETMASK1=255.0.0.0

    GATEWAY1=172.16.0.1

     等等有几条需要写几段

 

五、与配置IP地址等相关的小命令

 ifconfig命令
    ifconfig        显示活动网卡信息
    ifconfig DEVICE    显示指定网卡的网卡信息
    
    ifconfig DEVICE up|down        启用禁用指定网卡
    ifconfig DEVICE IPADDR netmask NETMASK    给指定的网卡设定IP和NETMASK
    ifconfig DEVICE 0.0.0.0/0    临时清空地址
    
    ifconfig DEVICE:# IPADDR/NETMASK        给指定的网卡设置别名,同时指定IP和子网掩码长度
        ifconfig DEVICE:# down                取消网卡别名
    选项:
        -s             统计网卡的传输信息
        -a            显示所有网卡信息,包括禁用和启用

    备注:使用ip addr add 添加的非主要地址ifconfig是看不到,只能使用ip addr show查看。
        ifconfig可以查看到网卡别名,如果想要清楚某个网卡别名可以直接禁用了 ifconfig eth1:1 down就直接没有了

 

ip命令
        来自于iproute软件包
       ip [ OPTIONS ] OBJECT  COMMAND | help
       ip [ -force ] -batch filename
       

        address子集
            show            显示地址相关信息
                ip addr show
                ip addr show dev eth1        只显示指定eth1网卡的相关信息,关键字dev可以省略
                ip addr show to 10/8        只显示10.0.0.0网段的地址
                ip addr show label eth1:1    只显示eth1:1网卡别名的地址相关信息
            add             添加地址相关信息
                ip address add ADDR/PREFIX dev DEVICE label I:2

            del                删除地址相关信息
                ip address del ADDR/PREFIX dev DEVICE label I:2
            
            flush            清空地址相关信息
                ip addr flush dev eth0    清空eth0上的所有地址
                ip addr flush dev eth1 to 10.3/16    删除eth1网卡上10.3.0.0网段的所有相关地址

        route子集
            show            显示路由条目信息,可省略
                ip route
            add                添加路由条目相关信息
                ip route add 10.1.0.0/24 via 10.1.0.1 dev eth0 proto static metric 100
                ip route add  default via 7.7.7.200 dev eth0     添加默认路由
                ip route add default via 8.8.8.200 dev eth0        
            
            del                删除路由条目相关信息
                ip route del 10.1.0.0/24 via 10.1.0.1
                ip route del default dev eth0


        link子集
            show        
                ip link show    显示网络接口信息,show可以省略,ip link 和 ip link show 结果一样
                ip link show DEVICE    显示指定的DEVICE网卡接口信息
            set
                ip link set DEVICE up|down    启用或禁用某个网卡,与ifconfig DEVICE on|off功能一致
                ip link set DEVICE apr on|off    启用或禁用某个网卡的arp功能
                ip link set DEVICE multicast on|off    启用或禁用某个网卡的多拨功能
                ip link set DEVICE name NEW_DEIVCE_NAME    给某个网卡改名,但是改名的前需要先禁用网卡
                ip link set DEVICE mtu MTU        指定某个网卡的mtu大小
                ip link set DEVICE promisc on|off    指定某个网卡启用或禁用混杂模式,主要用于抓包
               
        选项:
            -s            显示接口统计统计信息
                ip -s link        显示接口统计信息,和netstat -i命令、ifconfig -s命令显示功能一样
            -c            有颜色输出,会在网卡地址或网卡名称处加以颜色显示,建议定义成别名alias ip="ip -c"

 

route命令
    route            显示路由表
    route -n        以数字方式显示路由表
    route add/del [-net|-host|default] target [netmask Nm] [gw Gw] [dev If]
    例:
        route add -host 172.8.2.100/24 gw 10.0.0.1 dev eth1        添加一条主机路由,需要经10.0.0.1网关出去,指定eth1网卡出口,可以省略指定网卡
        route add -net 10.0.0.0/8 gw 192.168.0.1                 添加一条网络路由,需要经192.168.0.1网关出去,
        route default gw 10.0.0.1 dev eth0                        添加一条默认路由
        route del -net 10.0.0.0/8 gw 192.168.0.1                删除指定的网络路由条目
        route del -host 172.8.2.100/24 gw 10.0.0.1 dev eth1        删除指定的主机路由
        route del default gw 10.0.0.1                            删除默认路由

 

arp命令
    arp -n     可以查看通信过的IP地址和MAC的对应关系
        -d IPADDR    删除指定IPADDR地址
        -s IPADDR  MAC    绑定IP地址和MAC绑定,ARP绑定的优先级最高

nmcli命令
    IP地址的另外一个配置命令,是一个庞大的命令集合。多用来广管理网卡配置文件
    
    语法:nmcli [ OPTIONS ] OBJECT  COMMAND | help
    
        OBJECT=help | general | networking | radio | connection | device | agent | monitor
        
        
    connection子集                针对的是网卡配置文件
        子集语法:nmcli connection show | up | down | modify | add | edit | clone | delete | monitor | reload | load | import | export   [ARGUMENTS...]
        
        show [DEVICE]            显示所有或指定网卡状态信息
        
        reload                重新加载网卡配置文件    
        
        up DEVICE_C            启用启用某个网卡的某个配置文件
        
        down DEVICEC_C        禁用启用某个网卡的某个配置文件
        
        add     OPTION                            给指定网卡添加配置文件
            OPTION:
                ifname    DEVICE                相当于配置文件DEVICE=那列,这里必须指定
                type    ethernet            相当于配置文件TYPE=那列,这里必须指定
                con-name NEW_NAME            相当于配置文件NAME=那列
                ipv4.method    auto|manual|disabled        
                                            auto就是dhcp    manual就是static    相当于配置文件BOOTPROTO=那列,这里必须指定
                ipv4.addresses    IP/NATMASK    IP地址和掩码
                ipv4.dns                    DNS
                ipv4.gateway                网关
                ipv4.routes                    路由

        delete                    删除指定网卡的配置文件
                
        modify DEVICE_C OPTION    编辑某个网卡配置文件
            OPTION:
                con-name NEW_NAME            修改网卡配置文件名
                                            例:    nmcli connection modify eth2 con-name eth2-jia        把网卡配置文件名eth2改成eth2-jia
                ipv4.method    auto|manual|disabled        
                                            auto就是dhcp    manual就是static    
                ipv4.addresses    IP/NATMASK    修改IP地址和掩码
                ipv4.dns                    修改DNS
                ipv4.gateway                修改网关
                ipv4.routes                    修改路由
                

    device子集                针对的是网卡
        子集语法:nmcli device status | show | set | connect | reapply | modify | disconnect | delete | monitor | wifi | lldp  [ARGUMENTS...]
        
        status                显示网卡状态,可以省略。nmcli device 等同于 nmcli device status
        
        show [DEVICE]        查看网卡具体属性信息,后面如果指定网卡了,可以显示指定网卡的具体属性信息
        
        connect DEVICE        连接指定网卡
        
        disconnect DEVICE    断开连接指定网卡
        
        delete    DEVICE        删除指定软设备。This device is not a software device or is not realized
        
        


hostnamectl命令
    仅在centos78有此命令
    hostnamectl set-hostname haha        把主机名改成haha,立即生效,同时会修改配置文件/etc/hostname
    hostnamectl status                    显示主机名,内核版本信息,操作系统版本信息等等
            [root@haha8 ~]# hostnamectl status
               Static hostname: haha8
                     Icon name: computer-vm
                       Chassis: vm
                    Machine ID: 18fe9b54d4144939aef656523690f3ed
                       Boot ID: 75b58ca1fca043b0b86b3adbaea7c04e
                Virtualization: vmware
              Operating System: CentOS Linux 8 (Core)
                   CPE OS Name: cpe:/o:centos:centos:8
                        Kernel: Linux 4.18.0-147.el8.x86_64
                  Architecture: x86-64

 

 

六、多网卡绑定的介绍

 

共7种模式:0-6 mode

  MOde 0(balance-rr)  轮询策略,从头到尾顺序的

  Mode 1(active-backup) 主备策略,只有一个slave被激活

  MOde 3(broadcast) 广播模式,再所有的slave接口上传送所有的报文,提供容错能力

   备注:

    active-backup、balance-tlb 和 balance-alb 模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。

 

创建bonding设备的配置文件

  需要编辑/etc/sysconfig/network-scripts/ifcfg-bond0

    TYPE=band

    DEVICE=band0

    BOOTPROTO=none

    IPADDR=10.0.0.100

    PREFIX=24

    BONDING_OPTS="mode=1 miimon=100"

    备注:miimon是指监测链路时间间隔,如果miimon=100,表示每100ms,检测一次,如果一条链路不通,就立刻转入另一条线路

 

 

同时还需要再网卡配置文件中修改/etc/sysconfig/network-scripts/ifcfg-eth0和ifcfg-eth1

    DEVICE=eth#

    NAME=eth#

    MASTER=bond0

    SLAVE=yes

    ONBOOT=yes

 

可以通过查看/proc/net/bonding/bond0绑定多网卡的具体信息。

 

卸载bond网卡

  第一步,需要卸载bonding的内核模块

  第二步,删除ifcfg-bond0配置文件,同时更改ifcfg-eth0和ifcfg-eth1文件

  第三步,重启网络服务

 

 

除了手工编写配置问价的方法外,还可以nmcli命令来生成配置文件

 

#生成bond0配置文件

nmcli connection add ifname bond0 con-name bond0 type  bond ipv4.method manual ipv4.addresses 10.0.0.18/24 ipv4.gateway 10.0.0.2 ipv4.dns 222.222.222.222 mode active-backup

 

#生成各网卡的bond的子文件

nmcli connection add ifname ens160 con-name ens160 type bond-slave master bond0

nmcli connection add ifname ens192 con-name ens192 type bond-slave master bond0

nmcli connection add ifname ens224 con-name ens224 type bond-slave master bond0

 

#启用各网卡配置文件

nmcli connection up ens160

nmcli connection up ens192

nmcli connection up ens224

 

 

 

以上是 网络入门(一) 的全部内容, 来源链接: utcz.com/z/515925.html

回到顶部