笔记·网络管理和配置

OSI模型

    应用层    提供为应用软件而设的接口,以设置与另一应用软件之间的通信。
    主条目    把数据转换为能与接收者的系统格式兼容并适合传输的格式。
    会话层    负责在数据传输中设置和维护电脑网络中两台电脑之间的通信连接。
    传输层    把传输表头加至数据以形成数据包。传输表头包含了所使用的协议等发送信息。。
    网络层    决定数据的路径选择和转寄,将网络表头(NH)加至数据包,以形成报文。
    数据链路层    负责网络寻址、错误侦测和改错。当表头和表尾被加至数据包时,会形成信息框。
    物理层    在局部局域网上传送数据帧(Data Frame),它负责管理电脑通信设备和网络媒体之间的互通。
    
    物理层的PDU是        数据位 bit
    数据链路层的PDU是    数据帧 frame
    网络层的PDU是        数据包 packet
    传输层的PDU是        数据段 segment
    其他更高层次的PDU是    消息 message
    
    查看双工和速度:
        #mii-tool eth0
        #mii-tool -v eth0
        #ethtool -i eth0
        #ethtool eth0
        #mii-tool eth0

TCP/IP

    模型:
        TCP/IP            OSI
        应用层            应用层、表示层、会话层
        传输层            传输层
        互联网层        网络层
        网络接口层        数据链路层、物理层

    #echo 20000 62000 > /proc/sys/net/ipv4/ip_local_port_range    #调整客户端的动态端口范围
    #ss -ntlu
    #nc -l 1234                #开启端口
    #nc 10.0.0.8 1234        #连接端口
    #nc -l 7000 -u            #开启UDP端口
    #nc 10.0.0.8 7000 -u    #连接UDP端口
    #lsof -i :22            #找到22端口的程序
    
    TCP单数优化:
        net.ipv4.tcp_fin_timeout = 2
        net.ipv4.tcp_tw_reuse = 1
        net.ipv4.tcp_tw_recycle = 1
        net.ipv4.tcp_syncookies = 1
        net.ipv4.tcp_keepalive_time = 600
        net.ipv4.ip_local_port_range = 2000 65000
        net.ipv4.tcp_max_syn_backlog = 16384
        net.ipv4.tcp_max_tw_buckets = 36000
        net.ipv4.route.gc_timeout = 100
        net.ipv4.tcp_syn_retries = 1
        net.ipv4.tcp_synack_retries = 1
        net.ipv4.tcp_max_orphans = 16384
        net.core.somaxconn = 16384
        net.core.netdev_max_backlog = 16384

配置网络

    ifconfig命令:
        #ifconfig eth0 10.0.0.68 netmask 255.255.0.0
        #ifconfig eth0 0.0.0.0/0    #消除eth0上的ip地址
        #ifconfig eth0 down
        #ifconfig eth0 up
        #ifconfig eth0:1 172.16.0.8/24    #一个网卡设置多个ip
        #ifconfig eth0:1 down
        
    route命令:
        #route -n    #查看路由表
        #route add [-net|-host|default] target [netmask Nm] [gw GW] [[dev] If]
        #route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
        #目标:192.168.1.3 网关:172.16.0.1
            route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
        #目标:192.168.0.0 网关:172.16.0.1
            route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
            route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
            route add -net 192.168.8.0/24 dev eth1 metric 200
        #默认路由,网关:172.16.0.1
            route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
            route add -net 0.0.0.0/0 gw 172.16.0.1
            route add default gw 172.16.0.1
        #目标:192.168.1.3 网关:172.16.0.1
            route del -host 192.168.1.3
        #目标:192.168.0.0 网关:172.16.0.1
            route del -net 192.168.0.0 netmask 255.255.255.0
            
    netstat命令:
        netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]
            -t: tcp协议相关
            -u: udp协议相关
            -w: raw socket相关
            -l: 处于监听状态
            -a: 所有状态
            -n: 以数字显示IP和端口
            -e:扩展格式
            -p: 显示相关进程及PID
        常用组合:-tan, -uan, -tnl, -unl
    
    ip命令:
        ip [ OPTIONS ] OBJECT { COMMAND | help }
        #禁用网卡    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 addr del 172.16.100.100/16 dev eth0 label eth0:0
        #清除网络地址    ip addr flush dev eth0
        
        #添加路由:    ip route add TARGET via GW dev IFACE src SOURCE_IP
        #添加网关:    ip route add default via GW dev IFACE
        #删除路由:    ip route del TARGET
        #显示路由:    ip route show|list
        #清空路由表:    ip route flush [dev IFACE] [via PREFIX]
        #ip route add 192.168.0.0/24 via 172.16.0.1
        #ip route add 192.168.1.100 via 172.16.0.1
        #ip route add default via 172.16.0.1
        #ip route flush dev eth0
        
    ss 命令:
        选项:
            -t: tcp协议相关
            -u: udp协议相关
            -w: 裸套接字相关
            -x:unix sock相关
            -l: listen状态的连接
            -a: 所有
            -n: 数字格式
            -p: 相关的程序及PID
            -e: 扩展的信息
            -m:内存用量
            -o:计时器信息
        范例:
            #ss -l        #显示本地打开的所有端口
            #ss -pl        #显示每个进程具体打开的socket                
            #ss -t -a    #显示所有tcp socket                
            #ss -u -a    #显示所有的UDP Socekt
            #ss -o state established '( dport = :ssh or sport = :ssh )'        #显示所有已建立的ssh连接                
            #ss -o state established '( dport = :http or sport = :http )'        #显示所有已建立的HTTP连接                
            #ss -s        #列出当前socket详细信息

网络工具

    测试网络连通性
        ping
    显示正确的路由表
        ip route
    跟踪路由
        traceroute
        tracepath
        mtr
    确定名称服务器使用
        nslookup
        host
        dig
    抓包工具
        tcpdump
        wireshark
    安全扫描工具
        nmap
        netcat :网络界的瑞士军刀,即nc
    流量控制工具
        tc

posted @ 2022-07-25 18:08  Krill_ss  阅读(70)  评论(0编辑  收藏  举报