女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux網絡管理的關鍵技術和最佳實踐

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 2025-07-09 09:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、引言

在大型互聯網企業中,Linux網絡管理是運維工程師的核心技能之一。面對海量服務器、復雜網絡拓撲、高并發流量,運維人員需要掌握從基礎網絡配置到高級網絡優化的全套技術棧。本文將結合大廠實際場景,深入解析Linux網絡管理的關鍵技術和最佳實踐。

二、網絡基礎架構與規劃

2.1 大廠網絡架構設計

典型三層網絡架構:

┌─────────────────────────────────────────────────────────┐
│          核心層 (Core Layer)          │
│ ┌─────────────┐       ┌─────────────┐      │
│ │  Core-1  │──────────────│  Core-2  │      │
│ └─────────────┘       └─────────────┘      │
└─────────────────────────────────────────────────────────┘
             │
┌─────────────────────────────────────────────────────────┐
│         匯聚層 (Aggregation Layer)       │
│ ┌─────────────┐       ┌─────────────┐      │
│ │  Agg-1   │──────────────│  Agg-2   │      │
│ └─────────────┘       └─────────────┘      │
└─────────────────────────────────────────────────────────┘
             │
┌─────────────────────────────────────────────────────────┐
│          接入層 (Access Layer)         │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐   │
│ │  TOR-1   │ │  TOR-2   │ │  TOR-3   │   │
│ └─────────────┘ └─────────────┘ └─────────────┘   │
└─────────────────────────────────────────────────────────┘

VLAN劃分策略:

# 管理網絡
VLAN 100: 192.168.100.0/24 # 服務器管理接口
VLAN 101: 192.168.101.0/24 # 網絡設備管理

# 業務網絡
VLAN 200: 10.10.200.0/24  # Web前端服務
VLAN 201: 10.10.201.0/24  # 應用服務層
VLAN 202: 10.10.202.0/24  # 數據庫層

# 存儲網絡
VLAN 300: 10.10.300.0/24  # 分布式存儲
VLAN 301: 10.10.301.0/24  # 備份網絡

2.2 網絡接口配置與管理

網絡接口配置(CentOS/RHEL):

# /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=12345678-1234-1234-1234-123456789abc
DEVICE=eth0
ONBOOT=yes
IPADDR=10.10.200.100
NETMASK=255.255.255.0
GATEWAY=10.10.200.1
DNS1=8.8.8.8
DNS2=8.8.4.4

網絡接口配置(Ubuntu/Debian):

# /etc/netplan/00-installer-config.yaml
network:
version:2
renderer:networkd
ethernets:
 eth0:
  addresses:
   -10.10.200.100/24
  gateway4:10.10.200.1
  nameservers:
   addresses:[8.8.8.8,8.8.4.4]
 eth1:
  addresses:
   -10.10.201.100/24

網絡綁定(Bonding)配置:

# /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
TYPE=Bond
BONDING_MASTER=yes
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.10.200.100
NETMASK=255.255.255.0
GATEWAY=10.10.200.1
BONDING_OPTS="mode=802.3ad miimon=100 lacp_rate=fast"

# /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes

# /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes

三、網絡性能監控與調優

3.1 網絡性能監控工具

實時網絡監控腳本:

#!/bin/bash
# 網絡性能監控腳本
INTERFACE="eth0"
INTERVAL=5

echo"網絡接口:$INTERFACE"
echo"監控間隔:$INTERVAL秒"
echo"時間戳     接收(MB/s) 發送(MB/s) 丟包率(%)"
echo"=================================================="

whiletrue;do
 # 獲取網絡統計信息
  RX1=$(cat/sys/class/net/$INTERFACE/statistics/rx_bytes)
  TX1=$(cat/sys/class/net/$INTERFACE/statistics/tx_bytes)
  RX_DROPPED1=$(cat/sys/class/net/$INTERFACE/statistics/rx_dropped)
  TX_DROPPED1=$(cat/sys/class/net/$INTERFACE/statistics/tx_dropped)
  RX_PACKETS1=$(cat/sys/class/net/$INTERFACE/statistics/rx_packets)
  TX_PACKETS1=$(cat/sys/class/net/$INTERFACE/statistics/tx_packets)
 
 sleep$INTERVAL
 
  RX2=$(cat/sys/class/net/$INTERFACE/statistics/rx_bytes)
  TX2=$(cat/sys/class/net/$INTERFACE/statistics/tx_bytes)
  RX_DROPPED2=$(cat/sys/class/net/$INTERFACE/statistics/rx_dropped)
  TX_DROPPED2=$(cat/sys/class/net/$INTERFACE/statistics/tx_dropped)
  RX_PACKETS2=$(cat/sys/class/net/$INTERFACE/statistics/rx_packets)
  TX_PACKETS2=$(cat/sys/class/net/$INTERFACE/statistics/tx_packets)
 
 # 計算速率
  RX_RATE=$(echo"scale=2; ($RX2-$RX1) / 1024 / 1024 /$INTERVAL"| bc)
  TX_RATE=$(echo"scale=2; ($TX2-$TX1) / 1024 / 1024 /$INTERVAL"| bc)
 
 # 計算丟包率
  TOTAL_PACKETS=$((RX_PACKETS2 - RX_PACKETS1 + TX_PACKETS2 - TX_PACKETS1))
  DROPPED_PACKETS=$((RX_DROPPED2 - RX_DROPPED1 + TX_DROPPED2 - TX_DROPPED1))
 
 if[$TOTAL_PACKETS-gt 0 ];then
    DROP_RATE=$(echo"scale=2;$DROPPED_PACKETS* 100 /$TOTAL_PACKETS"| bc)
 else
    DROP_RATE=0
 fi
 
 printf"%-15s %10s %10s %10s
"
   "$(date '+%H:%M:%S')"
   "$RX_RATE"
   "$TX_RATE"
   "$DROP_RATE"
done

高級網絡監控工具使用:

# iftop - 實時網絡流量監控
iftop -i eth0 -P -n

# nethogs - 按進程顯示網絡使用情況
nethogs eth0

# ss - 查看網絡連接狀態
ss -tuln | grep :80
ss -i # 顯示詳細連接信息

# nload - 實時網絡流量圖形化顯示
nload -m eth0

# tcpdump - 網絡包捕獲分析
tcpdump -i eth0 -n -c 100'port 80 or port 443'

3.2 網絡參數調優

TCP參數優化:

# /etc/sysctl.conf
# TCP緩沖區優化
net.core.rmem_default = 262144
net.core.rmem_max = 16777216
net.core.wmem_default = 262144
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

# TCP連接優化
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1

# 網絡隊列優化
net.core.netdev_max_backlog = 5000
net.core.netdev_budget = 600

# 應用優化
sysctl -p

網絡接口隊列優化:

#!/bin/bash
# 網絡接口多隊列配置
INTERFACE="eth0"
CPU_CORES=$(nproc)

# 啟用多隊列
ethtool -L$INTERFACEcombined$CPU_CORES

# 設置中斷親和性
for((i=0; i<$CPU_CORES; i++));?do
? ? IRQ=$(grep?"$INTERFACE-TxRx-$i"?/proc/interrupts | awk?'{print $1}'?|?tr?-d?':')
? ??if?[ -n?"$IRQ"?];?then
? ? ? ??echo?$((1?<< i)) > /proc/irq/$IRQ/smp_affinity
 fi
done

# 優化網絡接口參數
ethtool -G$INTERFACErx 4096 tx 4096
ethtool -C$INTERFACEadaptive-rx on adaptive-tx on

四、網絡安全與防護

4.1 iptables防火墻配置

企業級防火墻規則:

#!/bin/bash
# 企業級iptables配置腳本

# 清空現有規則
iptables -F
iptables -X
iptables -Z

# 設置默認策略
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# 允許本地回環
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# 允許已建立的連接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# SSH訪問控制(僅允許特定IP)
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 10.0.0.0/8 -j ACCEPT

# Web服務端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 數據庫訪問控制
iptables -A INPUT -p tcp --dport 3306 -s 10.10.201.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 5432 -s 10.10.201.0/24 -j ACCEPT

# 防止SYN洪水攻擊
iptables -A INPUT -p tcp --syn -mlimit--limit1/s --limit-burst 3 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP

# 防止端口掃描
iptables -A INPUT -m state --state NEW -p tcp --tcp-flags ALL ALL -j DROP
iptables -A INPUT -m state --state NEW -p tcp --tcp-flags ALL NONE -j DROP

# 限制ICMP
iptables -A INPUT -p icmp --icmp-type echo-request -mlimit--limit1/s -j ACCEPT

# 保存規則
iptables-save > /etc/iptables/rules.v4

4.2 網絡入侵檢測

基于日志的入侵檢測腳本:

#!/bin/bash
# 網絡入侵檢測腳本
LOG_FILE="/var/log/secure"
ALERT_EMAIL="admin@company.com"
THRESHOLD=10

# 檢測SSH暴力破解
check_ssh_brute_force() {
 localfailed_attempts=$(grep"Failed password"$LOG_FILE| 
    grep"$(date '+%b %d')"| 
    awk'{print $11}'|sort|uniq-c | 
    awk -v threshold=$THRESHOLD'$1 > threshold {print $2, $1}')
 
 if[ -n"$failed_attempts"];then
   echo"SSH暴力破解檢測到:"
   echo"$failed_attempts"
   
   # 自動封禁IP
   echo"$failed_attempts"|whilereadip count;do
      iptables -A INPUT -s$ip-j DROP
     echo"已封禁IP:$ip(失敗次數:$count)"
   done
 fi
}

# 檢測端口掃描
check_port_scan() {
 localscan_attempts=$(netstat -an | grep SYN_RECV | 
    awk'{print $5}'|cut-d: -f1 |sort|uniq-c | 
    awk -v threshold=50'$1 > threshold {print $2, $1}')
 
 if[ -n"$scan_attempts"];then
   echo"端口掃描檢測到:"
   echo"$scan_attempts"
 fi
}

# 執行檢測
check_ssh_brute_force
check_port_scan

五、高可用網絡架構

5.1 負載均衡配置

HAProxy配置示例:

# /etc/haproxy/haproxy.cfg
global
  daemon
  maxconn 4096
  user haproxy
  group haproxy
 
defaults
  mode http
 timeoutconnect 5000ms
 timeoutclient 50000ms
 timeoutserver 50000ms
  option httplog
  option dontlognull
  option redispatch
  retries 3

frontend web_frontend
 bind*:80
 bind*:443 ssl crt /etc/ssl/certs/server.pem
  redirect scheme httpsif!{ ssl_fc }
  default_backend web_servers

backend web_servers
  balance roundrobin
  option httpchk GET /health
  server web1 10.10.200.10:80 check
  server web2 10.10.200.11:80 check
  server web3 10.10.200.12:80 check

listen stats
 bind*:8080
  statsenable
  stats uri /stats
  stats refresh 30s

Keepalived高可用配置:

# /etc/keepalived/keepalived.conf
vrrp_script chk_haproxy {
  script"/bin/curl -f http://localhost:80/health || exit 1"
  interval 2
  weight -2
  fall 3
  rise 2
}

vrrp_instance VI_1 {
  state MASTER
  interface eth0
  virtual_router_id 51
  priority 100
  advert_int 1
  authentication {
    auth_type PASS
    auth_pass mypassword
  }
  virtual_ipaddress {
    10.10.200.100/24
  }
  track_script {
    chk_haproxy
  }
}

5.2 網絡故障切換

自動故障切換腳本:

#!/bin/bash
# 網絡故障自動切換腳本
PRIMARY_GATEWAY="10.10.200.1"
BACKUP_GATEWAY="10.10.200.2"
TEST_HOST="8.8.8.8"
INTERFACE="eth0"

check_connectivity() {
 localgateway=$1
  ping -c 3 -W 2$gateway> /dev/null 2>&1
 return$?
}

switch_gateway() {
 localnew_gateway=$1
  ip route del default
  ip route add default via$new_gatewaydev$INTERFACE
 echo"已切換到網關:$new_gateway"
}

# 主循環
whiletrue;do
  current_gateway=$(ip route show default | awk'{print $3}')
 
 if["$current_gateway"="$PRIMARY_GATEWAY"];then
   if! check_connectivity$PRIMARY_GATEWAY;then
     echo"主網關故障,切換到備用網關"
      switch_gateway$BACKUP_GATEWAY
   fi
 else
   ifcheck_connectivity$PRIMARY_GATEWAY;then
     echo"主網關恢復,切換回主網關"
      switch_gateway$PRIMARY_GATEWAY
   fi
 fi
 
 sleep30
done

六、網絡故障排查與診斷

6.1 網絡連通性診斷

網絡診斷工具集:

#!/bin/bash
# 網絡故障診斷腳本
TARGET_HOST="$1"
TARGET_PORT="$2"

if[ -z"$TARGET_HOST"];then
 echo"用法:$0<目標主機> [端口]"
 exit1
fi

echo"=== 網絡診斷報告 ==="
echo"目標主機:$TARGET_HOST"
echo"目標端口:${TARGET_PORT:-N/A}"
echo"診斷時間:$(date)"
echo

# 1. 基礎連通性測試
echo"1. PING測試:"
ifping -c 4$TARGET_HOST> /tmp/ping_result 2>&1;then
 echo"  ? PING成功"
  grep"rtt"/tmp/ping_result
else
 echo"  ? PING失敗"
 cat/tmp/ping_result
fi
echo

# 2. 路由跟蹤
echo"2. 路由跟蹤:"
traceroute$TARGET_HOST2>/dev/null |head-10
echo

# 3. DNS解析測試
echo"3. DNS解析:"
ifnslookup$TARGET_HOST> /tmp/dns_result 2>&1;then
 echo"  ? DNS解析成功"
  grep"Address"/tmp/dns_result |tail-1
else
 echo"  ? DNS解析失敗"
fi
echo

# 4. 端口連通性測試
if[ -n"$TARGET_PORT"];then
 echo"4. 端口連通性:"
 ifnc -zv$TARGET_HOST$TARGET_PORT2>&1 | grep -q"succeeded";then
   echo"  ? 端口$TARGET_PORT開放"
 else
   echo"  ? 端口$TARGET_PORT不可達"
 fi
 echo
fi

# 5. 網絡接口狀態
echo"5. 本地網絡接口狀態:"
ip addr show | grep -E"inet|state"
echo

# 6. 路由表
echo"6. 路由表:"
ip route show
echo

# 7. 防火墻狀態
echo"7. 防火墻狀態:"
iptables -L -n |head-20

6.2 網絡性能分析

網絡性能測試腳本:

#!/bin/bash
# 網絡性能測試腳本
SERVER_IP="$1"
TEST_DURATION=30

if[ -z"$SERVER_IP"];then
 echo"用法:$0<服務器IP>"
 exit1
fi

echo"=== 網絡性能測試 ==="
echo"服務器:$SERVER_IP"
echo"測試時長:$TEST_DURATION秒"
echo

# TCP帶寬測試
echo"1. TCP帶寬測試:"
ifcommand-v iperf3 &> /dev/null;then
  iperf3 -c$SERVER_IP-t$TEST_DURATION
else
 echo"  iperf3 未安裝,跳過帶寬測試"
fi
echo

# 延遲測試
echo"2. 網絡延遲測試:"
ping -c 10$SERVER_IP|tail-1
echo

# 并發連接測試
echo"3. 并發連接測試:"
foriin{1..10};do
  (timenc -zv$SERVER_IP80 2>&1) 2>&1 | grep real &
done
wait
echo

# 丟包率測試
echo"4. 丟包率測試:"
ping -c 100$SERVER_IP| grep"packet loss"

七、容器網絡管理

7.1 Docker網絡配置

Docker網絡管理:

#!/bin/bash
# Docker網絡配置腳本

# 創建自定義網絡
docker network create --driver bridge 
  --subnet=172.20.0.0/16 
  --ip-range=172.20.240.0/20 
  --gateway=172.20.0.1 
  custom_network

# 創建macvlan網絡
docker network create -d macvlan 
  --subnet=192.168.1.0/24 
  --gateway=192.168.1.1 
  -o parent=eth0 
  macvlan_network

# 容器網絡監控
monitor_container_network() {
 echo"容器網絡使用情況:"
  docker stats --no-stream --format"table {{.Container}}	{{.NetIO}}"
 
 echo-e"
容器網絡詳情:"
  docker networkls
 
 echo-e"
網絡接口統計:"
 forcontainerin$(docker ps -q);do
    name=$(docker inspect --format='{{.Name}}'$container| sed's////')
   echo"容器:$name"
    dockerexec$containercat/proc/net/dev | grep -v"lo:"|tail-n +3
   echo
 done
}

monitor_container_network

7.2 Kubernetes網絡管理

Kubernetes網絡故障排查:

#!/bin/bash
# K8s網絡故障排查腳本

# 檢查Pod網絡連通性
check_pod_connectivity() {
 localpod_name=$1
 localnamespace=${2:-default}
 
 echo"檢查Pod:$pod_name(namespace:$namespace)"
 
 # 獲取Pod IP
  pod_ip=$(kubectl get pod$pod_name-n$namespace-o jsonpath='{.status.podIP}')
 echo"Pod IP:$pod_ip"
 
 # 檢查Pod網絡接口
  kubectlexec$pod_name-n$namespace-- ip addr show
 
 # 檢查Pod路由
  kubectlexec$pod_name-n$namespace-- ip route show
 
 # 測試DNS解析
  kubectlexec$pod_name-n$namespace-- nslookup kubernetes.default.svc.cluster.local
}

# 檢查Service網絡
check_service_network() {
 localservice_name=$1
 localnamespace=${2:-default}
 
 echo"檢查Service:$service_name"
 
 # 獲取Service信息
  kubectl get svc$service_name-n$namespace-o wide
 
 # 檢查Endpoints
  kubectl get endpoints$service_name-n$namespace
 
 # 檢查Service的iptables規則
  iptables -t nat -L | grep$service_name
}

# 網絡策略檢查
check_network_policies() {
 echo"當前網絡策略:"
  kubectl get networkpolicies --all-namespaces
 
 echo-e"
網絡策略詳情:"
  kubectl get networkpolicies --all-namespaces -o yaml
}

# 使用示例
# check_pod_connectivity "my-pod" "default"
# check_service_network "my-service" "default"
# check_network_policies

八、網絡自動化管理

8.1 Ansible網絡自動化

網絡配置自動化Playbook:

# network_config.yml
---
-name:網絡配置自動化
hosts:servers
become:yes
vars:
 network_interfaces:
  -name:eth0
   ip:"{{ ansible_default_ipv4.address }}"
   netmask:"255.255.255.0"
   gateway:"{{ ansible_default_ipv4.gateway }}"
  -name:eth1
   ip:"10.10.201.{{ ansible_host.split('.')[3] }}"
   netmask:"255.255.255.0"
 
tasks:
 -name:配置網絡接口
  template:
   src:ifcfg-interface.j2
   dest:"/etc/sysconfig/network-scripts/ifcfg-{{ item.name }}"
  loop:"{{ network_interfaces }}"
  notify:restartnetwork
 
 -name:配置防火墻規則
  iptables:
   chain:INPUT
   protocol:tcp
   destination_port:"{{ item }}"
   jump:ACCEPT
  loop:
   -22
   -80
   -443
 
 -name:優化網絡參數
  sysctl:
   name:"{{ item.name }}"
   value:"{{ item.value }}"
   state:present
   reload:yes
  loop:
   -{name:"net.ipv4.tcp_fin_timeout",value:"30"}
   -{name:"net.ipv4.tcp_keepalive_time",value:"1200"}
   -{name:"net.core.rmem_max",value:"16777216"}
   -{name:"net.core.wmem_max",value:"16777216"}
 
 -name:安裝網絡監控工具
  package:
   name:"{{ item }}"
   state:present
  loop:
   -iftop
   -nethogs
   -tcpdump
   -nmap

handlers:
 -name:restartnetwork
  service:
   name:network
   state:restarted

8.2 網絡監控自動化

Prometheus網絡監控配置:

# prometheus.yml
global:
scrape_interval:15s
evaluation_interval:15s

rule_files:
-"network_rules.yml"

scrape_configs:
-job_name:'node-exporter'
 static_configs:
  -targets:['localhost:9100']
 scrape_interval:5s
 metrics_path:/metrics

-job_name:'snmp-network'
 static_configs:
  -targets:
   -192.168.1.1# 路由器
   -192.168.1.2# 交換機
 metrics_path:/snmp
 params:
  module:[if_mib]
 relabel_configs:
  -source_labels:[__address__]
   target_label:__param_target
  -source_labels:[__param_target]
   target_label:instance
  -target_label:__address__
   replacement:127.0.0.1:9116# SNMP exporter

網絡告警規則:

# network_rules.yml
groups:
-name:network_alerts
 rules:
  -alert:HighNetworkTraffic
   expr:rate(node_network_receive_bytes_total[5m])>100000000
   for:2m
   labels:
    severity:warning
   annotations:
    summary:"高網絡流量告警"
    description:"{{ $labels.instance }}網絡接收流量超過100MB/s"
  
  -alert:NetworkInterfaceDown
   expr:node_network_up==0
   for:1m
   labels:
    severity:critical
   annotations:
    summary:"網絡接口故障"
    description:"{{ $labels.instance }}網絡接口{{ $labels.device }}已斷開"
  
  -alert:HighPacketLoss
   expr:rate(node_network_receive_drop_total[5m])>1000
   for:2m
   labels:
    severity:warning
   annotations:
    summary:"網絡丟包告警"
    description:"{{ $labels.instance }}網絡丟包率過高"

九、網絡安全最佳實踐

9.1 網絡安全加固

網絡安全檢查腳本:

#!/bin/bash
# 網絡安全檢查腳本

echo"=== 網絡安全檢查報告 ==="
echo"檢查時間:$(date)"
echo

# 1. 開放端口檢查
echo"1. 開放端口檢查:"
netstat -tuln | grep LISTEN |whilereadline;do
  port=$(echo$line| awk'{print $4}'|cut-d: -f2)
  protocol=$(echo$line| awk'{print $1}')
 echo"  開放端口:$port($protocol)"
done
echo

# 2. 防火墻狀態檢查
echo"2. 防火墻狀態:"
ifsystemctl is-active --quiet iptables;then
 echo"  ? iptables 服務運行中"
  rule_count=$(iptables -L | grep -c"^Chain")
 echo"  防火墻規則鏈數:$rule_count"
else
 echo"  ? iptables 服務未運行"
fi
echo

# 3. SSH配置檢查
echo"3. SSH安全配置檢查:"
ssh_config="/etc/ssh/sshd_config"
if[ -f"$ssh_config"];then
 # 檢查關鍵配置項
  root_login=$(grep"^PermitRootLogin"$ssh_config| awk'{print $2}')
  password_auth=$(grep"^PasswordAuthentication"$ssh_config| awk'{print $2}')
  port=$(grep"^Port"$ssh_config| awk'{print $2}')
 
 echo"  SSH端口:${port:-22}"
 echo"  Root登錄:${root_login:-yes}"
 echo"  密碼認證:${password_auth:-yes}"
 
 if["$root_login"="no"];then
   echo"  ? 已禁用Root登錄"
 else
   echo"  ? 建議禁用Root登錄"
 fi
fi
echo

# 4. 網絡連接檢查
echo"4. 可疑網絡連接檢查:"
netstat -an | grep ESTABLISHED | awk'{print $5}'|cut-d: -f1 |sort|uniq-c |sort-nr |head-10
echo

# 5. 失敗登錄嘗試檢查
echo"5. 失敗登錄嘗試:"
if[ -f"/var/log/secure"];then
  grep"Failed password"/var/log/secure |tail-5
else
 echo"  無法訪問登錄日志"
fi

9.2 DDoS防護

DDoS防護腳本:

#!/bin/bash
# DDoS防護腳本

# 限制連接數
iptables -A INPUT -p tcp --dport 80 -m connlimit --connlimit-above 20 -j REJECT

# 限制新連接速率
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 -j DROP

# SYN Flood防護
echo1 > /proc/sys/net/ipv4/tcp_syncookies
echo2048 > /proc/sys/net/ipv4/tcp_max_syn_backlog
echo3 > /proc/sys/net/ipv4/tcp_synack_retries

# 配置連接跟蹤
echo65536 > /proc/sys/net/netfilter/nf_conntrack_max
echo300 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established

# 自動封禁攻擊IP
monitor_ddos() {
 whiletrue;do
   # 檢測異常連接
    netstat -an | grep :80 | grep SYN_RECV | awk'{print $5}'|cut-d: -f1 |sort|uniq-c |whilereadcount ip;do
     if[$count-gt 50 ];then
       echo"檢測到DDoS攻擊,封禁IP:$ip"
        iptables -A INPUT -s$ip-j DROP
     fi
   done
   sleep10
 done
}

# 啟動監控
monitor_ddos &

十、總結與展望

10.1 運維最佳實踐總結

1.標準化配置管理:使用配置管理工具(Ansible、Puppet)實現網絡配置的標準化和自動化。

2.全面監控體系:建立從基礎設施到應用層的全棧網絡監控,及時發現和處理網絡問題。

3.安全防護策略:實施多層次的網絡安全防護,包括防火墻、入侵檢測、訪問控制等。

4.故障快速響應:建立完善的故障處理流程和自動化故障切換機制。

5.性能持續優化:定期進行網絡性能評估和調優,確保網絡基礎設施能夠支撐業務發展。

10.2 技術發展趨勢

?軟件定義網絡(SDN):通過軟件控制網絡行為,提高網絡的靈活性和可管理性。

?網絡功能虛擬化(NFV):將網絡功能從專用硬件中解耦,實現更靈活的網絡服務部署。

?邊緣計算網絡:隨著邊緣計算的發展,網絡架構將更加分布式和智能化。

?AI驅動的網絡運維:利用人工智能技術實現網絡的自動化運維和智能故障診斷。

結語

Linux網絡管理是大廠運維工程師必須掌握的核心技能。通過本文介紹的技術和實踐,運維人員可以構建穩定、高效、安全的網絡基礎設施,為企業業務發展提供堅實的技術保障。

在實際工作中,運維人員需要結合具體業務場景,靈活運用這些技術,并持續學習新的網絡技術和工具,以應對不斷變化的業務需求和技術挑戰。

本文內容基于大廠實際生產環境經驗總結,如有疑問或需要進一步交流,歡迎討論。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 互聯網
    +關注

    關注

    55

    文章

    11246

    瀏覽量

    106272
  • Linux
    +關注

    關注

    87

    文章

    11508

    瀏覽量

    213554
  • 網絡管理
    +關注

    關注

    0

    文章

    125

    瀏覽量

    28154

原文標題:運維必備:大廠Linux網絡管理技術實戰指南

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    網絡化HRM系統關鍵技術研究與實現

    和系統權限控制與管理等。本學位論文針對跨地域大型煤礦公司HRM系統的需求,研究網絡化HRM系統的關鍵技術,包括:B/S結構的多層Web應用系統、J2EE體系結構、JSP/Servlet開發模式
    發表于 04-24 09:21

    汽車總線及其關鍵技術的研究

    汽車總線及其關鍵技術的研究
    發表于 07-10 11:33

    CDMA原理與關鍵技術

    CDMA原理與關鍵技術
    發表于 08-16 20:25

    智能電網的網絡通信架構及關鍵技術解析

    中心議題: *智能電網的網絡通信架構 *智能電網的關鍵技術解決方案: *TE 彈性屬性決定在鏈路故障或結點失效時采取的策略1引言 建設信息化、自動化、互動化為特征的堅強智 能電網(Smart
    發表于 10-09 11:42

    詳解5G的六大關鍵技術

    過程中會遇到哪些問題?在5G研發剛起步的情況下,如何建立一套全面的5G關鍵技術評估指標體系和評估方法,實現客觀有效的第三方評估,服務技術與資源管理的發展需要,同樣是當前5G技術發展所面
    發表于 12-07 18:40

    利用CAN總線構建一個車內網絡,需要解決的關鍵技術問題有哪些?

    CAN-BUS系統主要包括哪些部件?車載網絡的應用分類有哪幾種?利用CAN總線構建一個車內網絡,需要解決的關鍵技術問題有哪些?
    發表于 05-13 06:07

    數字家庭網絡關鍵技術是什么?

    數字家庭網絡提供的業務類別以及需求有哪些?數字家庭網絡關鍵技術是什么?
    發表于 05-26 06:20

    WCDMA中的關鍵技術網絡規劃中的應用是什么

    WCDMA中的關鍵技術網絡規劃中的應用是什么
    發表于 05-27 06:15

    ASON網絡關鍵技術有哪些?

    ASON光網絡由哪幾部分組成?ASON網絡關鍵技術有哪些?ASON的亮點是什么?
    發表于 05-28 06:48

    車載移動異構無線網絡架構及關鍵技術是什么?

    車載移動異構無線網絡架構及關鍵技術是什么?
    發表于 06-07 06:29

    POE的關鍵技術有哪些?

    使用以太網線供電的優勢是什么?PoE設備是怎么供電的?POE的關鍵技術有哪些?
    發表于 06-10 09:26

    CatM的關鍵技術有哪些?CatNB和CatM有什么區別?

    物聯網市場的網絡特性是什么?CatNB和CatM有什么區別?CatM的關鍵技術有哪些?
    發表于 06-30 08:02

    明白VPP關鍵技術有哪些

    隨著人工智能技術的不斷發展,越來越多的行業開始使用人工智能技術,這也使得智能虛擬代理技術得到了廣泛的應用。為了能夠深入了解智能虛擬代理技術,需要明白VPP
    發表于 08-31 07:28

    視覺導航關鍵技術及應用

    由于視覺導航技術的應用越來越普及 ,因此 ,有必要對視覺導航中的關鍵技術及應用進行研究。文章對其中的圖像處理技術和定位與跟蹤技術進行了詳細研究 ,并與此相對應 ,介紹的相關的應用。
    發表于 09-25 08:09

    部署Linux最佳實踐探索

    編者按:本文節選自節選自《基于Linux的企業自動化》第五章。“第5章,使用Ansible構建用于部署的虛擬機模板,通過構建虛擬機模板來探索部署Linux最佳實踐,虛擬機模板將以實際
    的頭像 發表于 05-16 09:35 ?772次閱讀
    主站蜘蛛池模板: 汾西县| 南乐县| 南雄市| 西青区| 太原市| 涞水县| 类乌齐县| 霍林郭勒市| 平阴县| 武邑县| 城市| 申扎县| 措勤县| 鹤庆县| 凯里市| 新蔡县| 惠安县| 苗栗县| 土默特左旗| 同江市| 乌什县| 文山县| 海原县| 壤塘县| 资源县| 呼玛县| 绵阳市| 黄陵县| 焦作市| 三门峡市| 庄浪县| 罗城| 中卫市| 丹巴县| 铜鼓县| 进贤县| 辽中县| 宁夏| 蒙山县| 肥东县| 文水县|