zoukankan      html  css  js  c++  java
  • 网络协议和管理配置2

    1.route命令

    查看路由表

    route 

    route -n 查看路由表

    route add [-net|-host|-default] target [netmask Nm] [gw GW] [[dev]i f] 添加路由

    route del [-net|-host] target [netmask Nm] [gw GW] [[dev]i f] 

    route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
    目标:192.168.1.3 网关:172.16.0.1
    route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
    目标:192.168.0.0 网关172.16.0.1
    route add default gw 172.16.0.1
    默认路由,网关:172.16.0.1
    route del -host 192.168.1.3 
    删除目标
    route del -net 192.168.0.0 netmask 255.255.255.0
    删除网段

    route表

    路由表中的表项内容包括:
    destination:目的地址,用来标识IP包的目的地址或者目的网络。
    mask:网络掩码,与目的地址一起标识目的主机或者路由器所在的网段的地址。
    pre:标识路由加入IP路由表的优先级。可能到达一个目的地有多条路由,但是优先级的存在让他们先选择优先级高的路由进行利用。
    cost:路由开销,当到达一个目的地的多个路由优先级相同时,路由开销最小的将成为最优路由
    interface:输出接口,说明IP包将从该路由器哪个接口转发。
    nexthop:下一跳IP地址,说明IP包所经过的下一个路由器。

    范例实现静态路由

    环境:

    四台主机:

    A主机:eth0 NAT模式

    R1主机:eth0 NAT模式,eth1 仅主机模式

    R2 主机:eth0 桥接模式,eth1仅主机模式

    B主机:eth0桥接模式

    #配置主机A
    ifconfig eth0 10.0.0.123/8
    直连所以只需要配置ip
    #配置主机R1
    ifconfig eth0 10.0.0.200/8
    ifconfig eth1 192.168.0.200/24
    route add -net 172.16.0.0/16 gw 192.168.0.201/24 dev eth1
    直连只用配置第三个网段
    echo 1 > /proc/sys/net/ipv4/ip_forward
    linux系统默认是禁止数据包转发的
    #配置R2
    ifconfig eth0 172.16.0.200/16
    ifconfig eth1 192.168.0.0.201/24
    route add -net 10.0.0.0/8 gw 192.168.0.200 dev eth1
    echo 1 > /proc/sys/net/ipv4/ip_forward
    #配置B
    ifconfig eth0 172.16.0.123/16

    2.ip命令

    ip link set eth1 down
    禁用网卡
    ip link set eth1 name wangnet
    网卡改名
    ip link set wangnet up
    启用网卡
    ip addr add 172.16.100.100/16 dev eth0 label eth0:0
    增加网卡别名实现一个网卡多个IP
    ip addr flush dev eth0
    清除网络地址
    ip address add 10.0.0.8/24 dev eth0
    ip addr del 10.0.0.8/24 dev eth0
    添加ip地址

    3.ss命令

    来治愈iproute包,代替netstat,netstat通过遍历/proc来获取socket信息,ss使用netlink与内核tcp_diag模块通信获取sockst信息

    ss [option] ... [filter]

    选线:

    -t:tcp协议相关

    -u:udp协议相关

    -l: listen状态的连接

    -a:所有

    -n:数字模式

    常见用法

    ss -l
    显示本地打开的所有端口
    ss -pl
    显示每个进程具体打开的socket
    ss -ta
    显示所有tcp socket
    [10:49:53 root@centos7 ~]$ss -o state established '( dport = :ssh or sport = :ssh )'
    Netid Recv-Q Send-Q              Local Address:Port                               Peer Address:Port                
    tcp   0      0                        10.0.0.7:ssh                                    10.0.0.1:6345                  timer:(keepalive,73min,0)
    显示所有已建立的ssh连接

    4.写入配置文件永久更改

    网络配置文件

    IP:/etc/sysconfig/network-scripts/ifcfg-iface

    NAME:此配置文件应用到的设备

    DEVICE:设备名

    BOOTPROTO:激活此设备时使用的地址配置协议,常用dhcp,static

    IPADDR:指明IP地址

    GATEWAY:默认网关

    PREFIX:网络ID的位数如:24

    DNS1:第一个DNS服务器地址

    ONBOOT:在系统引导时是否激活此设备

    BOOTPROTO=static
    NAME=eth0
    DEVICE=eth0
    ONBOOT=yes
    IPADDR=10.0.0.7
    GATEWAY=10.0.0.2
    PREFIX=24
    DNS1=8.8.8.8

    配置当前主机的主机名

    #centos6之前版本

    /etc/sysconfig/network

    HOSTNAME=

    #centos7以后版

    /etc/hostname

    HOSTNAME

    路由相关的配置文件

    route:/etc/sysconfig/static-routes

    [11:20:12 root@centos7 ~]$vim /etc/sysconfig/static-routes
     any net 192.168.1.0/24 gw 10.0.0.254
    [11:23:43 root@centos7 ~]$route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         10.0.0.2        0.0.0.0         UG    100    0        0 eth0
    10.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 eth0
    [11:23:58 root@centos7 ~]$systemctl restart network
    [11:24:08 root@centos7 ~]$route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         10.0.0.2        0.0.0.0         UG    100    0        0 eth0
    10.0.0.0        0.0.0.0         255.255.255.0   U     100    0        0 eth0
    192.168.1.0     10.0.0.254      255.255.255.0   UG    0      0        0 eth0

    网卡别名

    [11:31:52 root@centos7 ~]$cat /etc/sysconfig/network-scripts/ifcfg-eth0:1
    DEVICE=eth0:1
    IPADDR=10.0.0.100
    PREFIX=8
    [11:31:36 root@centos7 ~]$systemctl restart network
    
    eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:35:00:d2 brd ff:ff:ff:ff:ff:ff
        inet 10.0.0.7/24 brd 10.0.0.255 scope global noprefixroute eth0
           valid_lft forever preferred_lft forever
        inet 10.0.0.100/8 brd 10.255.255.255 scope global noprefixroute eth0:1
           valid_lft forever preferred_lft forever
        inet6 fe80::20c:29ff:fe35:d2/64 scope link 
           valid_lft forever preferred_lft forever

    5.网络配置工具nmcli

    修改配置文件执行生效

    nmcli con relod
    nmcli con up con-name

    范例

    [16:42:51 root@centos7 ~]$nmcli connection show
    NAME                UUID                                  TYPE      DEVICE 
    eth0                5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0   
    Wired connection 1  7a9e3935-5829-3398-bf8d-d5321d6e9548  ethernet  --
    显示状态
    [16:42:59 root@centos7 ~]$nmcli dev status 
    DEVICE  TYPE      STATE      CONNECTION 
    eth0    ethernet  connected  eth0       
    lo      loopback  unmanaged  --      
    显示设备状态
    nmcli con add con-name static ifname eth0 autoconnect no type Ethernet ipv4.addresses 172.25.X.10/24 ipv4.gateway 172.25.x.254
    创建新连接static,指定静态IP,不自动连接

    nmcli实现bonding

    mode 0:balance-rr 轮调策略:多张网卡可以轮流发数据包,实现负载均衡的功能

    mode 1:active-backup 主备策略:其中active网卡的发数据包,其他备用

    mode 3:broadcast 广播策略:每个网卡都会发一份包

    nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 10.0.0.100/24
    添加bonding接口
    nmcli con add type bond-slave ifname eth0 master bond0
    nmcli con add type bond-slave ifname eth1 master bond0
    添加从属接口
    nmcli con up bond-slave-eth0
    nmcli con up bond-slave-eth1
    要启动绑定,则必须首先启动从属接口
    nmcli con up mybond0
    启动绑定

    6.网桥

    nmcli con add type birdge con-name bro ifname br0
    nmcli con mod bro ipv4,addresses 10.0.0.100/24 ipv4.method manual
    nmcli con up bro
    创建网桥
    nmcli con add type bridge-slave con-name br0-port0 ifname eth0 master br0
    nmcli con add type bridge-slave con-name br0-port1 ifname eth1 master br0
    nmcli con up br0-port0
    nmcli con up br0-port1
    加入物理网卡
    cat /etc/sysconfig/network-scripts/ifcfg-br0
    查看网桥配置文件

    7.tcpdump

    网络数据包截获分析工具。支持针对网络层,协议,主机,网络或端口的过滤。并提供and,or,not等逻辑语句帮助去除无用的信息

    tcpdump -D
    查看网卡
    tcpdump
    不指定任何参数,监听第一块网卡上经过的数据包。主机上可能有不止一块网卡,所以经常需要指定网卡
    tcpdump -i eth0
    监听特定网卡
    tcpdump host 10.0.0.100
    监听特定主机,监听主机10.0.0.100 的通信包,注意:出入的包都会被监听。
    tcpdump src host hostname
    特定来源
    tcpdump dst host hostname
    特定目标地址
    tcpdump -i eth0 -nn icmp and src host 10.0.0.6 and dst host 10.0.0.7
    监听从6到7的icmp包
    tcpdump port 3000
    特定端口
    tcpdump tcp port 22 and src host 10.0.0.100
    监听来自主机10.0.0.100在端口22上的TCP数据包

    详细示例

    tcpdump tcp -i eht1 -t -s 0 -c 100 and dst port ! 22 src net 192.168.1.0/24 -w ./target.cap
    1)tcp:ip icmp arp 这些选项都要放到第一个参数的位置,用来过滤数据报文的类型
    2)-i eth1 :只抓经过接口eth1的包
    3)-t:不显示时间戳
    4)-s:抓取数据包时默认抓取长度为68字节。加上-s 0 后可以抓到完整的数据包
    5)-c 100 :只抓取100个包
    6)dst port !22:不抓取目标端口时22的数据包
    7)src net 192.168.1.0/24:数据包源地址
    8)-w :保存成cap文件,方便用wireshark分析

    8.ubuntu网络配置

    网卡名称

    vi /etc/default/grub
    GRUB_CMDLINE_LINUX="net.ifnames=0"
    修改配置文件为下面形式
    grub-mkconfig -o /boot/grub/grub.cfg
    生效新的文件,ubuntu版
    grub2-mkconfig -o /etc/grub2.cfg
    centos版

     静态IP必须要遵守格式

    vim /etc/netplan/50-cloud-init.yaml
    network: version:
    2 ethernets: eth0: dhcp4: true match: macaddress: 00:16:3e:0e:64:66 set-name: eth0
    netplan apply
    地址生效

    查看dns

    ls -l /etc/resolv.conf
    resolvectl status 
    systemd-resolve --status
  • 相关阅读:
    cf D. Vessels
    cf C. Hamburgers
    zoj 3758 Singles' Day
    zoj 3777 Problem Arrangement
    zoj 3778 Talented Chef
    hdu 5087 Revenge of LIS II
    zoj 3785 What day is that day?
    zoj 3787 Access System
    判断给定图是否存在合法拓扑排序
    树-堆结构练习——合并果子之哈夫曼树
  • 原文地址:https://www.cnblogs.com/aiyoubucuo/p/14205772.html
Copyright © 2011-2022 走看看