天天看點

指令補充專題

書接上回

指令補充專題

Linux-1

Linux-02

Linux性能分析

指令補充專題

一、iptables

  1. 使用示例
1)iptables 是 Linux 防火牆工作在使用者空間的管理工具,是基于核心的防火牆,是netfilter/iptablesIP 資訊包過濾系統是一部分,用來設定、維護和檢查 Linux 核心的 IP 資料包過濾規則。
指令補充專題

iptables調轉示意

raw 表 mangle 表 nat 表 filter 表(預設)
PREROUTING 鍊 PREROUTING 鍊 PREROUTING 鍊
資料包剛到達防火牆改變目的位址 DNAT INPUT 鍊
主要對外部包進入 linux 系統進行資訊過濾
OUTPUT 鍊 POSTROUTING 鍊 POSTROUTING 鍊
資料包離開防火牆改變源位址 SNAT FORWARD 鍊
主要對内部 linux 系統索要發送的包進行資訊過濾
/ INPUT 鍊 OUTPUT 鍊
改變本地産生的包的目的位址 OUTPUT 鍊
将外面過來的包傳遞到内部計算機中
/ OUTPUT 鍊 / 鍊裡是對應的規則
/ FORWARD 鍊 / /
在連接配接跟蹤之前處理資料包 拆解封包,做出修改,重新封裝功能 網絡位址轉換功能,核心子產品 過濾功能,防火牆,核心子產品
#
# iptables [-t 表名] 選項 [鍊名] [條件] [-j 控制類型]
# 1)預設filter表;
# 2)預設表内所有鍊;
# 3)選項、鍊名、控制類型使用大寫字母,其餘均為小寫;
iptables -nvL --line-numbers    # 檢視規則并顯示序号
iptables -F                                 # 清空規則鍊, Flush
iptables -P INPUT DROP          # 設定預設政策, Plicy

iptables-save > 20220327.iptable
iptables-restore < 20220327.iptable           
  1. 應用執行個體(SNAT&DNAT)
iptables -I INPUT -p icmp -j ACCEPT   # iptables -I 頭部添加新規則 INPUT規則鍊 -p icmp ACCEPT動作
iptables -D INPUT 1                            # iptables -D 删除 INPUT鍊1号規則
iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j REJECT  # 禁止源自該網段流量通路本機sshd服務

# 端口轉發 路由前
iptables -t nat -A PREROUTING -i eth0 -d 192.168.16.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.16.1:8080     # 端口轉發
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080   # 端口轉發 路由前

# setting for loopback interface
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT           
  • SNAT(源位址轉換,内網通路外網,作用于 POSTROUTING)
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j SNAT --to-source 218.29.30.31
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -j MASQUERADE           
  • DNAT(目标位址轉換,外網通路内網,作用于 PREROUTING)
# 外網 PREDOUTING DNAT 内網
iptables -t nat -A PREROUTING -i eth1 -d 218.29.30.31 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.6:80           

二、LVM

RAID

  1. RAID0-Striping
  • 組成:多塊硬碟(至少 2 塊)通過硬體或軟體串聯一起,組成大的卷組,提升了硬碟資料的吞吐量,但不具備資料備份和錯誤修複能力;
  • 特點:讀寫性能提升;無備援(容錯)能力;空間使用率:ns(s–> 一塊盤使用率);至少 2 塊;
  1. RAID1-Mirror
  • 資料寫到多塊硬碟裝置上,當某一塊硬碟發生故障後,一般會立即以熱交換方式來恢複資料的正常使用,但硬碟的使用率卻下降了,隻有 33%左右;
  • 性能提升:寫下降,讀提升;備援能力:有;空間使用率:1/2;至少 2 塊;
  1. RAID5
  • 1. 将硬碟裝置的資料奇偶校驗資訊儲存到除自身外每一塊硬碟裝置上,當硬碟出現問題,通過奇偶校驗資訊來嘗試重建損壞的資料;
  • 2. 性能提升:讀寫提升;備援能力:有;空間使用率:(n-1)s/n;至少 3 塊;
  1. LVM
指令補充專題

LVM

  • 實體卷(PV)真正的實體硬碟或者分區;
  • **卷組(VG)**将多個實體卷合起來組成卷組,組成同一個卷組的實體卷可以是同一個硬碟的不同分區,也可以是不同硬碟的不同分區,抽象為一個邏輯硬碟;
  • **邏輯卷(LV)**卷組是一個邏輯硬碟,硬碟分區後才可以使用,類似的,從卷組出來的分區為邏輯卷;
  1. 使用
  • 建立邏輯卷
# PV - VG - LV
[root@xy ~]# pvcreate /dev/sd{c,d}
  Physical volume "/dev/sdc" successfully created
  Physical volume "/dev/sdd" successfully created
[root@xy ~]# vgcreate storage /dev/sd{c,d}          # 添加到storage卷組中
  Volume group "storage" successfully created
[root@xy ~]# lvcreate -l 37 -n vo storage          # 從卷組裡邊 建立邏輯卷 lvcreate
[root@xy ~]# mkfs.ext4 /dev/storage/vo
[root@xy ~]# mkdir /LVM
[root@xy ~]# mount /dev/storage/vo /LVM/
[root@xy ~]# vim /etc/fstab
  /dev/storage/vo              /LVM         ext4          defaults   0 0           
  • 如何對邏輯卷擴容
[root@xy ~]# df -Th
[root@xy ~]# fdisk t 8e
[root@xy ~]# mkfs.ext4 /dev/sdb1  # 不用分區也可以
[root@xy ~]# pvcreate /dev/sdb1
[root@xy ~]# vgextend VolGroup /dev/sdb1
[root@xy ~]# lvextend -L +20G /dev/volGroup/VolGroup-lv_root
[root@xy ~]# resize2fs /dev/volGroup/VolGroup-lv_root 32GB

[root@xy ~]# umount /home   # 25G
[root@xy ~]# e2fsck -f /dev/volGroup/VolGroup-lv_home
[root@xy ~]# resize2fs -p /dev/volGroup/VolGroup-lv_home 10G   # xfs格式用xfs_growfs
[root@xy ~]# mount /home
[root@xy ~]# lvreduce -L -15G /dev/volGroup/VolGroup-lv_home   # 減少15G
[root@xy ~]# lvextend -L +15G 或 lvextend -l +100%FREE /dev/volGroup/VolGroup-lv_root
[root@xy ~]# resize2fs -p /dev/volGroup/VolGroup-lv_root
[root@xy ~]# fuser -m -v /home
[root@xy ~]# kill -9 PID    # 建議保留Free PE/SIZE 一點空間,不要全用上;