第七章 网络管理与防火墙配置

前言

每天更新一点 Linux 系统操作的命令,巩固自己的 Linux 的基础操作命令,学习 Linux 很久了,很多东西都忘的差不多了,是时候回顾回顾。

7.1 网络配置及管理

网络配置的主要文件及目录

/etc/hostname                                   用于设置和保存静态主机名
/etc/machine-info                               用于设置和保存灵活主机名
/etc/hosts                                      用于设置主机名映射为IP地址,从而实现主机名的解析
/etc/sysconfig/network-scripts                  网络接口(网卡)配置文件存放目录
/etc/resolv.conf                                用于对主机的DNS服务器IP地址进行配置
/etc/nsswitch.conf                              用于指定域名解析顺序
/etc/services                                   用于设置主机名的不同端口对应的网络服务
/usr/lib/sysctl.d/00-system.conf                用于开启和关闭路由转发功能
/etc/sysconfig/network-scripts/route-ensXX      用于设置和保存静态路由信息

hostnamectl

释义:主机名配置 格式:hostnamectl [status] [参数]- //查看主机名 格式:hostnamectl [参数] [set-homename] [新主机名] //修改主机名 参数:

  • status 可同时查看静态、瞬态、和灵活三种主机名及相关的设置信息
  • --static 仅查看静态(永久)主机名
  • --transient 仅查看瞬态(临时)主机名
  • --pretty 仅查看灵活主机名

ip

释义:查看、配置、启用或禁用网络连接 用法:

  • ip [-s] addr show [网卡设备名]- - //查看网卡在网络层的配置信息,-s表示增添显示相关统计信息,接收(RX)及传送(TX)的数据包数量
  • ip [-s] link show [网卡设备名] //查看网卡在链路层的配置信息
  • ip [-4] addr [add|del] IP地址[/掩码长度] [dev] [网卡连接名] //添加或删除IPv4地址
  • ip [-6] addr [add|del] IP地址[/掩码长度] [dev] [网卡连接名] //添加或删除IPv6地址
  • ip link set dev [网卡设备名] [down|up] - //禁用或启用指定网卡

nmtui

释义:以直观易用的文本窗口方式对网卡配置文件中的参数进行配置的工具

nmcli

释义:配置网络的命令行工具 用法:

  • nmcli dev status 显示网络设备状态
  • nmcli con show [-active] [网络连接名] //显示所有活动的或指定的网络连接
  • nmcli con add con-name [网络连接名] type ethernet ifname [网络设备名] [ip4 IP地址/掩码] [gw4 网关 //为指定的网络设备他添加网络连接,并以“ifcfg-网络连接名”名称保存其配置
  • nmcli con modify [网络连接名] ipv4.add [IP地址/掩码,网关] //修改连接的IP地址
  • nmcli con [up|down] [网络连接名] //激活或关闭指定的网络连接
  • nmcli con [dis|delete] [网络连接名] //关闭(断开)|删除指定的网络连接
  • nmcli con reload //重新读取网络连接配置文件,使配置文件生效

    网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-XXX

    TYPE=Ethernet                   //指定网络类型 
    BOOTPROTO=none                  //指定地址获取方式
                                    //dhcp|bootp:自动获取                             
                                    //static:手动配置 
    DEFROUTE=yes                    //默认路由
    IPV4_FAILURE_FATAL=no           //如果IPv4地址配置失败是否被禁用 
    IPV6INIT=yes                    //是否开启IPv6
    IPV6_AUTOCONF=yes               //IPv6地址自动配置 
    NAME=ens33                      //网络连接表示名 
    ONBOOT=yes                      //设置网卡是否随网络服务启动 
    UUID=000000000000               //网卡全球通用唯一识别码 
    DEVICE=ens33                    //网卡设备名 
    IPADDR=192.168.1.1              //设置IP地址 
    PREFIX=24                       //设置子网掩码                            
                                    //NETMASK:子网掩码的另一种表达形式 
    GATEWAY=192.168.1.254           //设置网关 
    DNS1=8.8.8.8                    //设置dns,还有单独的配置文件
    HWADDR=00:00:00:00:00:81        //网卡的物理地址(MAC)

    DNS配置文件:/etc/resolv.conf

    nameserver 8.8.8.8 nameserver 114.114.114.114 
    # 当配置多个时只有前三个生效

    ping

    释义:测试网络连通性 格式:ping [选项] [目标主机名或IP地址] 选项:

    • -c [数字] //用于设定发出的ICMP消息包的数量,默认无限次发送(【ctrl+C】结束
    • -s [字节数] //设置ping命令发出的消息包的大小,默认56字节,最大65507字节
    • -i [时间间隔] 设置前后两次发送ICMP消息包之间的间隔时间,默认1秒
    • -t 设置存活时间TTL

    tracepath

    释义:跟踪并显示网络路径 格式:tracepath [选项] [目标主机或IP地址] 选项:

    • -n 对沿途各主机节点,仅仅获取并输出IP地址,不住每个IP地址的节点设备上通过DHS查找主机名,这样可以加快测试速度
    • -b 对沿途各主机节点同时显示IP地址和主机名
    • -l [包长度] 设置初试数据包长度
    • -p [端口号] 设置UDP传输协议的端口(缺省33434)

    ifdown|ifup

    释义:启动或禁用网卡设备 格式:ifdown|ifup [网卡设备名]

    netstat

    释义:查询网络状态 格式:netstat [选项] 选项:

    • -t 列出TCP协议端口
    • -u 列出UDP协议端口
    • -n 不使用域名与服务名,而使用IP地址和端口号
    • -l 仅列出在监听状态网络服务
    • -a 列出所有的网络连接
    • -rn 网关查看,列出路由表

    route

    释义:查看路由表 格式:route -n

    nslookup

    释义:进行域名与IP地址解析 格式:nslookup [主机或IP地址]

    7.2 iptables防火墙

    策略与规则链

    • iptables服务把用于处理或过滤流量的策略条目称之为规则,多条规则可以组成一个规则链,而规则链则依据数据包处理位置的不同进行分类 在进行路由选择前处理数据包(PREROUTING) 处理流入的数据包(INPUT) 处理流出的数据包(OUTPUT) 处理转发的数据包(FORWARD) 在进行路由选择后处理数据包(POSTROUTING)

    iptables服务术语

    • 允许流量通过(ACCEPT)
    • 拒绝流量通过(REJECT:收到回复;DROP:收到不回复直接丢弃)
    • 记录日志信息(LOG)

    常用参数

    • -P 设置默认策略
    • -F 清空规则链
    • -L 查看规则链
    • -s 匹配来源地址IP/MASK,加“!”取反(除外)
    • -d 匹配目标地址
    • -j 动作,如ACCEPT、DROP
    • -A 在规则链末尾加入新规则
    • -p 匹配协议,如TCP、UDP、ICMP
    • -I [num] 在规则链头部加入新规则
    • -D [num] 删除某一条规则
    • -i [网卡名称] 匹配从这块网卡流入的数据
    • -o [网络名称] 匹配从这块网卡流出的数据
    • --dport [num] 匹配目标端口
    • --sport [num] 匹配来源端口

    7.3 firewalld防火墙

    firewalld中的区域名称及策略规则

    • trusted 允许所有的数据包
    • home 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、mdns、ipp-client、amba-client、dhcpv6-client服务相关,则允许流量
    • internal 等同于home
    • work 拒绝流入的流量,除非与流出的流量数相关;而如果流量与ssh、ipp-client、dhcpv6-client服务相关,则允许流量
    • public 拒绝流入的流量,除非与流出的流量相关;而如果流量与ssh、dhcpv6-client服务相关,则允许流量
    • external拒绝流入的流量,除非与流出的流量相关;而如果与ssh服务相关则允许
    • dmz 拒绝流入的流量,除非与流出的流量相关;而如果与ssh服务相关,则允许
    • block 拒绝流入的流量,除非与流出的流量相关
    • drop 拒绝流入的流量,除非与流出的流量相关

    firewall-cmd

    释义:firewalld防火墙终端管理工具 格式:firewall [参数1] [参数2] …… 参数: --get-default-zone 查询默认的区域名称

    • --set-default-zone=<区域名称> 设置默认区域使其永久生效
    • --get-zones 显示可用的区域
    • --get-services 显示预先定义的服务
    • --get-active-zones 显示当前正在使用的区域与网卡名称
    • --add-source= 将源自此IP或子网的流量导向某个指定区域
    • --remove-source= 不再将源自此IP或子网的流量导向某个指定区域
    • --add-interface=<网卡名称> 将源自该网卡的所有流量导向某个指定区域
    • --change-interface=<网卡名称> 将某个网卡与区域进行关联
    • --list-all 显示当前区域的网卡配置参数、资源、端口
    • --list-all-zones 显示所有区域的网卡配置参数、资源、端口
    • --add-service=<服务名> 设置默认区域允许该服务的流量
    • --add-port=<端口号/协议> 设置默认区域允许该端口的流量
    • --remove-service=<服务名> 设置默认区域不再允许该服务的流量
    • --remove-port=<端口号/协议> 设置默认区域不再允许该端口的流量
    • --reload 让“允许生效”的配置规则立即生效,并覆盖当前规则
    • --panic-on 开启应急状况模式
    • --panic-off 关闭应急状况模式

    firewall-config

    释义:firewalld图形化配置工具

    7.4 服务的访问控制列表

    TCP Wrappers

    • TCP Wrappers服务的防火策略由两个控制列表文件所控制,通过编辑控制列表文件来放行或者拒绝流量
    • 允许控制列表文件:/etc/hosts.allow
    • 拒绝控制列表文件:/etc/hosts.deny
    • 优先检查允许控制列表文件,在检查拒绝控制列表文件,如果都匹配不到,默认放行
    • 遵循原则 编写拒绝策略规则时,填写的是服务名称,而非协议名称 先编写拒绝策略规则,再编写允许策略规则

    THE END