柚子快報激活碼778899分享:macos 網(wǎng)絡相關指令
柚子快報激活碼778899分享:macos 網(wǎng)絡相關指令
ARP表,Route表,Mac表
PDF獲?。?網(wǎng)絡拓撲圖解析:
每個網(wǎng)絡設備上的每個接口都會有一個interface name, 內核用其區(qū)分這些接口,例如圖中的Lan1, 它的interface name 是 “eth1". 可以通過 ifconfig, ipconfig 命令查看.每個網(wǎng)絡設備都會有 ARP表用于存儲學習到的ARP記錄(ip和Mac的對應關系 ),每條記錄都會有生存周期.每個網(wǎng)路設備都會有Route表,數(shù)據(jù)包會查找此表來確定由哪個接口轉發(fā).路由器的網(wǎng)橋,就是一個switch(交換機),switch有Mac的學習能力,switch會學習數(shù)據(jù)包的源Mac,然后把源Mac和接收它的接口的對應關系記錄到Mac表.路由器有LAN(局域網(wǎng)) 和 WAN(廣域網(wǎng)),網(wǎng)橋(interface name:br0)會把所有的Lan的接口(eth1~eth4)橋接起來組成LAN,而用一個單獨的接口作為WAN.LAN 端會有DHCP Server用于給連接到LAN的網(wǎng)絡設備動態(tài)分配IP地址.WAN 端會有DHCP Client 用于從其網(wǎng)絡中獲得IP地址.
LAN網(wǎng)絡設備間的通信router tableARP tableMac table例如:電腦1(192.168.1.11) ping 電腦4(192.168.1.44).
首先,電腦1根據(jù)ping的目的ip(192.168.1.44)查找它的router table,查找的結果是ping數(shù)據(jù)包的目的ip和電腦1的網(wǎng)口ip是同一個網(wǎng)段, 即同一個LAN網(wǎng)絡由電腦1的網(wǎng)口發(fā)送,接下來會查找ARP table,看是否有192.168.1.44對應的Mac地址,如果沒有記錄,會向LAN發(fā)送ARP請求去詢問192.168.1.44的MAC地址,然后電腦4通過ARP回復把其Mac地址告訴電腦1,電腦1會把學習到的記錄加入到ARP tabel,然后對應的ping數(shù)據(jù)包從電腦1網(wǎng)口發(fā)出. 如果在查找ARP table的時候有對應的記錄存在,直接用對應的Mac地址發(fā)送數(shù)據(jù)包.其次,電腦1的ping數(shù)據(jù)包會被路由器1的lan1接口接收,因為ping的目的Mac不是網(wǎng)橋(br0)的地址,說明數(shù)據(jù)包需要轉發(fā),所以switch會根據(jù)ping的目的Mac查找Mac table,由于電腦4之前發(fā)送過ARP回復,電腦4的Mac和Lan4接口的對應關系已經(jīng)被學習到Mac table,ping數(shù)據(jù)包就直接由Lan4接口發(fā)送,進而電腦4收到來自電腦1的ping請求.
查看接口信息
ipconfig / ifconfig/all --windows
brctl–查看網(wǎng)橋 Mac表
安裝brctl網(wǎng)橋工具
$ sudo apt-get install bridge-utils
主要參數(shù)解釋
brctl showmacs br_name:顯示網(wǎng)橋學習到的MAC地址信息
brctl delif br_name device:網(wǎng)橋刪除端口
查看ARP 表—arp
-a<主機>:顯示arp緩沖區(qū)的所有條目;
-H<地址類型>:指定arp指令使用的地址類型;
-d<主機>:從arp緩沖區(qū)中刪除指定主機的arp條目;
-D:使用指定接口的硬件地址;
-e:以 Linux 的顯示風格顯示arp緩沖區(qū)中的條目;
-i<接口>:指定要操作arp緩沖區(qū)的網(wǎng)絡接口;
-s<主機>
-n:以數(shù)字方式顯示arp緩沖區(qū)中的條目;
-v:顯示詳細的arp緩沖區(qū)條目,包括緩沖區(qū)條目的統(tǒng)計信息;
-f<文件>:設置主機的IP地址與MAC地址的靜態(tài)映射。
上面00:50:56:f3:c9:8e是網(wǎng)關192.168.2.2的MAC地址,00:50:56:c0:00:08是虛擬機VMnet8的MAC地址。
IP指令–Route表
ip rule – 操作路由策略數(shù)據(jù)庫
基于策略的路由比傳統(tǒng)路由在功能上更強大,使用更靈活,它使網(wǎng)絡管理員不僅能夠根據(jù)目的地址而且能夠根據(jù)報文大小,應用或IP源地址等屬性來選擇轉發(fā)路徑。
增加路由策略
格式類型
判斷條件 表ID 優(yōu)先級
ip rule add from 192.168.3.1 table 10 prio 199
// 添加規(guī)則,源地址為192.168.3.1的包,使用表10
參數(shù)解釋:
From: 源地址to: 目的地址dev: 輸入的數(shù)據(jù),后面會接接口fwmark n:做標記 n
ip rule add to 168.95.1.1 table 10 // 目的地址是 168.95.1.1 使用 table 10
ip rule add dev eth2 table 1 // dev eth2 輸入的數(shù)據(jù),使用 table 1
ip rule add dev eth3 table 3 // dev eth3 輸入的數(shù)據(jù),使用 table 3
ip rule add fwmark 1 table 1 // fwmark 1 的數(shù)據(jù),使用 table 1 標記為1的數(shù)據(jù)
ip rule add fwmark 2 table 2
ip rule add fwmark 3 table 3
通過路由表 1 路由來自源地址為192.203.80/24的數(shù)據(jù)包
ip rule add from 192.203.80/24 table 1 prio 220 #增加規(guī)則220 prio
如果去掉prio的話,最后的222默認就是路由表的名稱,并且因為沒有設定規(guī)則ID,就默認在目前的規(guī)則上添加一個,220->219
添加一個路由策略,使得所有來自172.21.45.122的數(shù)據(jù)包都傳遞到main表中
把源地址為193.233.7.83的數(shù)據(jù)報的源地址轉換為192.168.80.144,并通過表1進行路由
ip rule add from 193.233.7.83 nat 192.168.80.144 table 1 prio 311
#nat網(wǎng)絡地址轉換
增加標記
將來自所有的數(shù)據(jù)包標記為fwmark 0x1,使用table 1將來自172.21.43.1發(fā)送來的數(shù)據(jù)包標記為fwmark 0x2,使用table 2
刪除路由策略
刪除規(guī)則,可以使用 優(yōu)先級,源地址,目的地址,路由表 等信息作為判斷條件。
ip rule del prio 10 # 按照優(yōu)先級
ip rule del from 192.168.1.0/24 # 按照判斷條件
ip rule del table 1 # 刪除表
ip rule del from 192.168.1.0/24 table 1 prio 10
根據(jù)優(yōu)先級來刪除對應的路由策略
按照判斷條件來刪除源地址的策略
刪除表中的策略
ip rule del table 1 #一次只能刪除一個策略
在 Linux 系統(tǒng)啟動時,內核會為路由策略數(shù)據(jù)庫配置三條缺省的規(guī)則:
0 匹配任何條件 查詢路由表local(ID 255) 路由表local是一個特殊的路由表,包含對于本地和廣播地址的高優(yōu)先級控制路由。rule 0非常特殊,不能被刪除或者覆蓋。32766 匹配任何條件 查詢路由表main(ID 254) 路由表main(ID 254)是一個通常的表,包含所有的無策略路由。系統(tǒng)管理員可以刪除或者使用另外的規(guī)則覆蓋這條規(guī)則。32767 匹配任何條件 查詢路由表default(ID 253) 路由表default(ID 253)是一個空表,它是為一些后續(xù)處理保留的。對于前面的缺省策略沒有匹配到的數(shù)據(jù)包,系統(tǒng)使用這個策略進行處理。這個規(guī)則也可以刪除。
**注:**不要混淆路由表和策略:規(guī)則指向路由表,多個規(guī)則可以引用一個路由表,而且某些路由表可以策略指向它。如果系統(tǒng)管理員刪除了指向某個路由表的所有規(guī)則,這個表沒有用了,但是仍然存在,直到里面的所有路由都被刪除,它才會消失。
route – 管理路由表
route 命令用于查看和操作Linux操作系統(tǒng)中的路由表。它允許您添加,刪除和修改路由表的條目,以確定數(shù)據(jù)包從一臺計算機到另一臺計算機的傳輸路徑。
查看路由表: windows下查看路由表:Linux下 “ip route” 或 “route”
以下是一些 route 命令的常用選項:
route -n:以數(shù)字格式顯示路由表。這將以 IP 地址和網(wǎng)絡掩碼的數(shù)字形式而非主機名和網(wǎng)絡掩碼的形式來顯示路由表的內容。route add:添加新的路由表項。**route del:**從路由表中刪除一條路由。route change:更改路由表中的一條路由。route flush:清空整個路由表。
route = route -n #默認顯示的是中文,顯示當前路由表
route -en #顯示的是英文,顯示當前路由表
在 route -n 命令的輸出中可以看見標志即路由類型。以下是一些常見的路由類型及其含義:
U 表示該路由是可用的 (up)G 表示該路由是一個默認網(wǎng)關 (gateway)H 表示該路由是一個主機路由 (host)UG 表示該路由同時具有默認網(wǎng)關和可用的屬性UGH 表示該路由同時具有默認網(wǎng)關、可用和主機路由屬性
因此,對于輸出中的每一行,第一列的字符組合表示該路由的類型和屬性。例如,UG 表示該路由是一個默認網(wǎng)關,并且可用。同樣,UGH 表示該路由是一個主機路由,并且是默認網(wǎng)關,并且可用。
route add —— 添加路由
在 route add 命令中,可以使用 -gw 選項指定一個網(wǎng)關,也可以使用 -dev 選項指定要使用的網(wǎng)絡設備。
添加一個新路由,源地址是172.21.45.0,子網(wǎng)掩碼是255.255.255.0,網(wǎng)關/目的地址是172.21.45.254
route add -net 172.21.45.0 netmask 255.255.255.0 gw 172.21.45.254
添加默認路由172.21.45.33
添加路由的時候指定接口
route add -net 172.21.45.44 netmask 255.255.255.0 dev eth0
route delete —— 刪除路由
刪除指定默認路由 gw 172.21.45.33
route del default gw 172.21.45.33 #指定刪除默認路由
#如果不加iP地址,則會默認刪除當前的默認路由
刪除到網(wǎng)絡的路由
route change —— 更改路由表
更改到網(wǎng)絡的路由網(wǎng)關
route change -net 172.21.45.0 netmask 255.255.255.0 gw 172.21.45.2
route flush —— 清空路由表
使用 route flush 命令將清空整個路由表,這意味著所有當前定義的路由都將被刪除。在路由表被清空后,系統(tǒng)將無法將數(shù)據(jù)包路由到其目標地址,將無法訪問網(wǎng)絡。
因此,在執(zhí)行 route flush 命令之前,應該確保已經(jīng)備份了路由表,以便在需要時可以快速恢復。如果需要僅刪除特定的路由表項,應該使用 route del 命令來刪除特定的路由表項。
ip route – 管理靜態(tài)路由表
linux 系統(tǒng)中,可以自定義從 1-252個路由表。其中,linux系統(tǒng)維護了4個路由表:
0#表: 系統(tǒng)保留表253#表: defulte table 沒特別指定的默認路由都放在改表254#表: main table 沒指明路由表的所有路由放在該表255#表: local table 保存本地接口地址,廣播地址、NAT地址 由系統(tǒng)維護,用戶不得更改
查找路由表可以通過ip route show table table_number[table name]命令,路由表和表明的對應關系記錄在/etc/iproute2/rt_tables中
ip route show table ——查看路由表信息
ip route show table 表號[表名]
# 第一行是默認路由,表示在路由表上查不到數(shù)據(jù)時時,報文都從 enp0s3 網(wǎng)卡出去,去 IP 為 10.0.0.2 的另一臺主機。
# 第二行是網(wǎng)絡路由,表示去 10.0.0.0/24 網(wǎng)絡的報文都從 enp0s3 網(wǎng)卡出去,報文中攜帶的源地址(本機地址)為 10.0.0.128。
# 第三行也是網(wǎng)絡路由,表示去 172.17.0.0/16 網(wǎng)絡的報文都從 docker0 網(wǎng)卡出去,報文中攜帶的源地址(本機地址)為 172.17.0.1。
# 由第二行可知,走默認路由時,報文中攜帶的源地址(本機地址)為 10.0.0.128。
ip route add – 增加路由
在編寫下列的指令時候,可能會報錯**“RTNETLINK answers: Operation not permitted”,在指令的前面加上sudo即可。或者直接使用root權限**增加的路由必須要和本身的ip地址處于同一子網(wǎng)中才行。
增加默認網(wǎng)關(在main路由表中)172.21.45.22
在1號路由表中增加默認網(wǎng)管172.21.45.11
ip route add default via 172.21.45.11 table 1
添加源地址是172.21.45.2,目的地址是172.21.45.5的路由
ip route add 172.21.45.2 via 172.21.45.5
設置172.21.45.4網(wǎng)段的網(wǎng)關為172.21.45.8,數(shù)據(jù)走enp0s8接口
ip route add 172.21.45.4 via 172.21.45.8 dev enp0s8
在2號路由表中增加172.21.45.5網(wǎng)段的網(wǎng)關為172.21.45.10
ip route add 172.21.45.5 via 172.21.45.10 dev enp0s8 table 2
ip route show – 顯示系統(tǒng)路由
ip route 或:ip route show顯示系統(tǒng)路由ip route show table local查看本地路由表
ip route get – 獲取單目標路由
ip route get 172.21.45.4
獲取到目標的單個路由,并按照內核所看到的方式打印其內容
ip route delete – 刪除路由
ip route del default #刪除當前默認網(wǎng)關
如果要想刪除指定的默認路由,則需要加上via + ip地址
ip route del default via 172.21.45.254
刪除指定路由
ip route del 地址
ip route flush – 輸出特定路由
ip route flush 10.38.0.0/16刪除特定路由ip route flush table main清空路由表
ip address – 查看所有Ip地址
顯示自己的IP地址
hostname -I
ip a:查看所有 IP 地址(以網(wǎng)卡分組)。ip a show lo:查看 本地 網(wǎng)卡上的 IP 地址。ip a add 192.168.10.10/24 dev ens33:向 ens33 網(wǎng)卡上添加一個臨時 IP 地址 192.168.10.10/24 (dev 是 device 的簡寫)。ip a del 192.168.10.10/24 dev ens33:從 ens33 網(wǎng)卡上刪除一個臨時 IP 地址 192.168.10.10/24。
iptables指令 – 實現(xiàn)對網(wǎng)絡數(shù)據(jù)包進出設備及轉發(fā)的控制
iptables 是 Linux 防火墻系統(tǒng)的重要組成部分,iptables 的主要功能是實現(xiàn)對網(wǎng)絡數(shù)據(jù)包進出設備及轉發(fā)的控制。當數(shù)據(jù)包需要進入設備、從設備中流出或者由該設備轉發(fā)、路由時,都可以使用 iptables 進行控制。
iptables 是集成在 Linux 內核中的包過濾防火墻系統(tǒng)。使用 iptables 可以添加、刪除具體的過濾規(guī)則,iptables 默認維護著 4 個表和 5 個鏈,所有的防火墻策略規(guī)則都被分別寫入這些表與鏈中。
“四表”是指 iptables 的功能,默認的 iptables 規(guī)則表有 filter 表(過濾規(guī)則表)、nat 表(地址轉換規(guī)則表)、mangle(修改數(shù)據(jù)標記位規(guī)則表)、raw(跟蹤數(shù)據(jù)表規(guī)則表):
filter 表:控制數(shù)據(jù)包是否允許進出及轉發(fā),可以控制的鏈路有 INPUT、FORWARD 和 OUTPUT。nat 表:控制數(shù)據(jù)包中地址轉換,可以控制的鏈路有 PREROUTING、INPUT、OUTPUT 和 POSTROUTING。mangle:修改數(shù)據(jù)包中的原數(shù)據(jù),可以控制的鏈路有 PREROUTING、INPUT、OUTPUT、FORWARD 和 POSTROUTING。raw:控制 nat 表中連接追蹤機制的啟用狀況,可以控制的鏈路有 PREROUTING、OUTPUT。
“五鏈”是指內核中控制網(wǎng)絡的 NetFilter 定義的 5 個規(guī)則鏈。每個規(guī)則表中包含多個數(shù)據(jù)鏈:INPUT(入站數(shù)據(jù)過濾)、OUTPUT(出站數(shù)據(jù)過濾)、FORWARD(轉發(fā)數(shù)據(jù)過濾)、PREROUTING(路由前過濾)POSTROUTING(路由后過濾),防火墻規(guī)則需要寫入到這些具體的數(shù)據(jù)鏈中。Linux 防火墻的過濾框架,如圖所示:可以看出,
如果是外部主機發(fā)送數(shù)據(jù)包給防火墻本機,數(shù)據(jù)將會經(jīng)過 PREROUTING 鏈與 INPUT 鏈;如果是防火墻本機發(fā)送數(shù)據(jù)包到外部主機,數(shù)據(jù)將會經(jīng)過 OUTPUT 鏈與 POSTROUTING 鏈;如果防火墻作為路由負責轉發(fā)數(shù)據(jù),則數(shù)據(jù)將經(jīng)過 PREROUTING 鏈、FORWARD 鏈以及 POSTROUTING 鏈。
iptables語法格式
iptables 命令的基本語法格式如下:
iptables [-t table] COMMAND [chain] CRETIRIA -j ACTION
各參數(shù)的含義為:
-t:指定需要維護的防火墻規(guī)則表** filter、nat、mangle或raw**。在不使用 -t 時則默認使用 filter 表。COMMAND:子命令,定義對規(guī)則的管理。chain:指明鏈表。CRETIRIA:匹配參數(shù)。cretiriaACTION:觸發(fā)動作。action
iptables 命令常用的選項及各自的功能:
選 項 功 能
-A 添加防火墻規(guī)則
-D 刪除防火墻規(guī)則
-I 插入防火墻規(guī)則
-F 清空防火墻規(guī)則
-L 列出添加防火墻規(guī)則
-R 替換防火墻規(guī)則
-Z 清空防火墻數(shù)據(jù)表統(tǒng)計信息
-P 設置鏈默認規(guī)則
iptables 命令常用匹配參數(shù)及各自的功能:
參 數(shù) 功 能
[!]-p 匹配協(xié)議,! 表示取反
[!]-s 匹配源地址
[!]-d 匹配目標地址
[!]-i 匹配入站網(wǎng)卡接口
[!]-o 匹配出站網(wǎng)卡接口
[!]--sport 匹配源端口
[!]--dport 匹配目標端口
[!]--src-range 匹配源地址范圍
[!]--dst-range 匹配目標地址范圍
[!]--limit 四配數(shù)據(jù)表速率
[!]--mac-source 匹配源MAC地址
[!]--sports 匹配源端口
[!]--dports 匹配目標端口
[!]--stste 匹配狀態(tài)(INVALID、ESTABLISHED、NEW、RELATED)
[!]--string 匹配應用層字串
iptables 命令觸發(fā)動作及各自的功能:
觸發(fā)動作 功 能
ACCEPT 允許數(shù)據(jù)包通過
DROP 丟棄數(shù)據(jù)包
REJECT 拒絕數(shù)據(jù)包通過
LOG 將數(shù)據(jù)包信息記錄 syslog 曰志
DNAT 目標地址轉換
SNAT 源地址轉換
MASQUERADE 地址欺騙
REDIRECT 重定向
內核會按照順序依次檢查 iptables 防火墻規(guī)則,如果發(fā)現(xiàn)有匹配的規(guī)則目錄,則立刻執(zhí)行相關動作,停止繼續(xù)向下查找規(guī)則目錄;如果所有的防火墻規(guī)則都未能匹配成功,則按照默認策略處理。使用 -A 選項添加防火墻規(guī)則會將該規(guī)則追加到整個鏈的最后,而使用 -I 選項添加的防火墻規(guī)則則會默認插入到鏈中作為第一條規(guī)則。注意:在 Linux CentOS 系統(tǒng)中,iptables 是默認安裝的,如果系統(tǒng)中沒有 iptables 工具,可以先進行安裝。
規(guī)則的查看與清除
使用 iptables 命令可以對具體的規(guī)則進行查看、添加、修改和刪除。查看規(guī)則
iptables -nvL
各參數(shù)的含義為:
-L 表示查看當前表的所有規(guī)則,默認查看的是 filter 表,如果要查看 nat 表,可以加上 -t nat 參數(shù)。-n 表示不對 IP 地址進行反查,加上這個參數(shù)顯示速度將會加快。-v 表示輸出詳細信息,包含通過該規(guī)則的數(shù)據(jù)包數(shù)量、總字節(jié)數(shù)以及相應的網(wǎng)絡接口。
【例 1】查看規(guī)則。首先需要使用 su 命令,切換當前用戶到 root 用戶。然后在終端頁面輸入命令如下:添加規(guī)則添加規(guī)則有兩個參數(shù)分別是 -A 和 -I。其中 -A 是添加到規(guī)則的末尾;-I 可以插入到指定位置,沒有指定位置的話默認插入到規(guī)則的首部?!纠?2】查看當前規(guī)則。首先需要使用 su 命令,切換當前用戶到 root 用戶,然后在終端頁面輸入命令如下:添加一條規(guī)則到尾部。首先需要使用 su 命令,切換當前用戶到 root 用戶,然后在終端頁面輸入如下命令:
iptables -A INPUT -s 192.168.1.5 -j DROP
iptables -nL --line-number
修改規(guī)則在修改規(guī)則時需要使用-R參數(shù)?!纠?4】把添加在第1 行規(guī)則的 DROP 修改為 ACCEPT。首先需要使用 su 命令,切換當前用戶到 root 用戶,然后在終端頁面輸入如下命令:
iptables -R INPUT 1 -s 192.168.1.5 -j ACCEPT
iptables -nL --line-number
對比發(fā)現(xiàn),第 1 行規(guī)則的 target 已修改為 ACCEPT。刪除規(guī)則刪除規(guī)則有兩種方法,但都必須使用 -D 參數(shù)。【例 5】刪除添加的第 1 行的規(guī)則。首先需要使用su命令,切換當前用戶到 root 用戶,然后在終端頁面輸入如下命令:
iptables -D INPUT 1 -s 192.168.1.5 -j ACCEPT
或
iptables -D INPUT 1
已經(jīng)刪除第一行的規(guī)則注意:有時需要刪除的規(guī)則較長,刪除時需要寫一大串的代碼,這樣比較容易寫錯,這時可以先使用 -line-number 找出該條規(guī)則的行號,再通過行號刪除規(guī)則。
防火墻的備份與還原
默認的 iptables 防火墻規(guī)則會立刻生效,但如果不保存,當計算機重啟后所有的規(guī)則都會丟失,所以對防火墻規(guī)則進行及時保存的操作是非常必要的。iptables 軟件包提供了兩個非常有用的工具,我們可以使用這兩個工具處理大量的防火墻規(guī)則。這兩個工具分別是** iptables-save 和 iptables-restore**,使用該工具可以實現(xiàn)防火墻規(guī)則的保存與還原。這兩個工具的最大優(yōu)勢是處理龐大的規(guī)則集時速度非???。CentOS 7 系統(tǒng)中防火墻規(guī)則默認保存在 /etc/sysconfig/iptables 文件中,使用 iptables-save 將規(guī)則保存至該文件中可以實現(xiàn)保存防火墻規(guī)則的作用,計算機重啟后會自動加載該文件中的規(guī)則。如果使用 iptables-save 將規(guī)則保存至其他位置,可以實現(xiàn)備份防火墻規(guī)則的作用。當防火墻規(guī)則需要做還原操作時,可以使用 iptables-restore 將備份文件直接導入當前防火墻規(guī)則。iptables-save命令iptables-save 命令用來批量導出 Linux 防火墻規(guī)則,語法介紹如下:
保存在默認文件夾中(保存防火墻規(guī)則):iptables-save > /etc/sysconfig/iptables
保存在其他位置(備份防火墻規(guī)則):iptables-save > 文件名稱
直接執(zhí)行 iptables-save 命令:顯示出當前啟用的所有規(guī)則,按照 raw、mangle、nat、filter 表的順序依次列出,如下所示:
“#”號開頭的表示注釋; “filter”表示所在的表; “:鏈名默認策略”表示相應的鏈及默認策略,具體的規(guī)則部分省略了命令名“iptables”; 在末尾處*“COMMIT”表示提交前面的規(guī)則設置。**
列出nat表的規(guī)則內容,命令如下:
iptables-save -t nat
“-t表名”:表示列出某一個表。iptables-restore命令iptables-restore 命令可以批量導入Linux防火墻規(guī)則,同時也需要結合重定向輸入來指定備份文件的位置。命令如下:
iptables-restore < 文件名稱
注意,導入的文件必須是使用 iptables-save工具導出來的才可以。先使用 iptables-restore 命令還原 text 文件,然后使用 iptables -t nat -nvL 命令查看清空的規(guī)則是否已經(jīng)還原,如下所示:
iptables-restore < test
iptables -t nat -nvL
ip rule,ip route,iptables 三者之間的關系
iptables:iptables其實不是真正的防火墻,我們可以把它理解成一個客戶端代理,用戶通過iptables這個代理,將用戶的安全設定執(zhí)行到對應的"安全框架"中,這個"安全框架"才是真正的防火墻,這個框架的名字叫netfilter。注:圖中 “路由判斷” 就是使用ip rule,ip route設置的規(guī)則,其中ip route配置的路由表服務于ip rule配置的規(guī)則。以一例子來說明:公司內網(wǎng)要求192.168.0.100 以內的使用 **10.0.0.1 **網(wǎng)關上網(wǎng) (電信),其他IP使用 **20.0.0.1 **(網(wǎng)通)上網(wǎng)。
首先要在網(wǎng)關服務器上添加一個默認路由,當然這個指向是絕大多數(shù)的IP的出口網(wǎng)關:ip route add default via 20.0.0.1之后通過 ip route 添加一個路由表:**ip route add table 3 via 10.0.0.1 dev ethX **(ethx 是 10.0.0.1 所在的網(wǎng)卡, 3 是路由表的編號)之后添加 ip rule 規(guī)則:**ip rule add fwmark 3 table 3 **(fwmark 3 是標記,table 3 是路由表3 上邊。 意思就是凡事標記了 3 的數(shù)據(jù)使用 table3 路由表)之后使用 iptables 給相應的數(shù)據(jù)打上標記:iptables -A PREROUTING -t mangle -i eth0 -s 192.168.0.1 - 192.168.0.100 -j MARK --set-mark 3
iptables -t mangle -A FORWARD -i eth3 -p tcp --dport 80 -j MARK --set-mark 1 // eth3輸入的HTTP協(xié)議數(shù)據(jù),標記為 mark 1
iptables -t mangle -A FORWARD -i eth3 -p tcp --dport 25 -j MARK --set-mark 2 // eth3 輸入的SMTP協(xié)議數(shù)據(jù),標記為 mark 2
iptables -t mangle -A FORWARD -i eth3 -p tcp --dport 110 -j MARK --set-mark 2 // eth3 輸入的POP協(xié)議數(shù)據(jù),標記為 mark 2
iptables -t mangle -A FORWARD -i eth3 -j MARK --set-mark 3 // eth3 輸入的其他數(shù)據(jù),標記為 mark 3
ip rule add fwmark 1 table 1 // fwmark 1 的數(shù)據(jù),使用 table 1
ip rule add fwmark 2 table 2
ip rule add fwmark 3 table 3
ip link——管理和查看網(wǎng)絡接口
ip layer 即鏈路層。該命令用于管理和查看網(wǎng)絡接口。ip link只能看鏈路層的狀態(tài),看不到ip地址ip link的參數(shù):
ip link set DEVICE { up | down | arp { on | off } | name NEWNAME | address LLADDR }
選項說明: dev DEVICE:指定要操作的設備名 up and down:啟動或停用該設備 arp on or arp off:啟用或禁用該設備的arp協(xié)議 name NAME:修改指定設備的名稱,建議不要在該接口處于運行狀態(tài)或已分配IP地址時重命名 address LLADDRESS:設置指定接口的MAC地址
舉例:
控制 eth1網(wǎng)卡
# 停用 eth1網(wǎng)卡:
ip link set eth1 down
# 啟用 eth1網(wǎng)卡:
ip link set eth1 up
等價于:
ifconfig eth1 down 或 ifconfig eth1 up
查看所有的網(wǎng)絡鏈接——ip link show
ip link show
語法格式:
ip [ -s | -h | -d ] link show [dev DEV]
選項說明:
-s[tatistics]:將顯示各網(wǎng)絡接口上的流量統(tǒng)計信息;
-h[uman-readable]:以人類可讀的方式顯式,即單位轉換;
-d[etails]:顯示詳細信息
(選項說明可以通過ip help查看)
ip -s -h -d link show dev eth0 #沒有eth0
Device "eh0" does not exist.
不過可以看一下別人的答案
ip -s -h -d link show dev eth0
5: eth0:
link/ether 00:01:02:a4:71:28 brd ff:ff:ff:ff:ff:ff promiscuity 0 numtxqueues 8 numrxqueues 8
RX: bytes packets errors dropped overrun mcast
160M 2.86M 0 0 0 0
TX: bytes packets errors dropped carrier collsns
192k 1.43k 0 0 0 0
各字段含義說明:
BROADCAST:支持廣播
MULTICAST:支持組播
UP:代表網(wǎng)卡開啟狀態(tài);如果是關閉狀態(tài)則不顯示UP(重要)
LOWER_UP:
有說法是代表網(wǎng)卡的網(wǎng)線被接上,
自己測試驗證發(fā)現(xiàn)使用ifconfig eth0 down后,UP和LOWER_UP均不顯示;
使用ifconfig eth0 up后,UP和LOWER_UP均顯示(重要)
mtu 1500:網(wǎng)絡接口的最大傳輸單元(Maximum Transmission Unit ):1500字節(jié)。是包或幀的最大長度,一般以字節(jié)記。
qdisc:排隊規(guī)則
state UNKNOWN :
mode DEFAULT :
group default :
qlen 1000:
link/ether 00:01:02:a4:71:28 表示物理網(wǎng)卡地址
brd ff:ff:ff:ff:ff:ff
promiscuity 0
numtxqueues 8
numrxqueues 8
ip -s -h -d link show dev can0
3: can0:
link/can promiscuity 0
can state ERROR-ACTIVE restart-ms 100
bitrate 250000 sample-point 0.800
tq 400 prop-seg 3 phase-seg1 4 phase-seg2 2 sjw 1
mcp251x: tseg1 3..16 tseg2 2..8 sjw 1..4 brp 1..64 brp-inc 1
clock 12500000
re-started bus-errors arbit-lost error-warn error-pass bus-off
0 0 0 0 0 0 numtxqueues 1 numrxqueues 1
RX: bytes packets errors dropped overrun mcast
21.6M 2.71M 1 0 1 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0
各字段含義說明:
NOARP:沒有arp協(xié)議
ECHO:Echo發(fā)送的數(shù)據(jù)包
can state ERROR-ACTIVE restart-ms 100:
一般情況,正常的時候,每個節(jié)點大多數(shù)時間出于CAN_STATE_ERROR_ACTIVE這個狀態(tài),也就是錯誤主動狀態(tài)。別看這個狀態(tài)名字叫錯誤,但是實際上就
是對應的普通狀態(tài)。標示這個節(jié)點檢測到錯誤,會發(fā)出主動錯誤標示。
隨著問題的增多,節(jié)點逐漸會升級到CAN_STATE_ERROR_WARNING狀態(tài)。但是這個狀態(tài)并沒有固定的硬件標示,實際上是一個軟件層面的預警。也就是
說,對于CAN_STATE_ERROR_ACTIVE和CAN_STATE_ERROR_WARNING而言,這個節(jié)點的任何邏輯行為(包括軟硬件)都不會有什么區(qū)別。
隨著問題的繼續(xù)增多,節(jié)點會升級到CAN_STATE_ERROR_PASSIVE狀態(tài)。在這個狀態(tài)下,節(jié)點的硬件行為會改變,收到錯誤的時候,發(fā)送的是被動錯誤標
示。
如果此時問題還會繼續(xù),則節(jié)點會進入CAN_STATE_BUS_OFF狀態(tài)。這個時候只有檢測到128個連續(xù)的11個隱性位才能回到CAN_STATE_ERROR_ACTIVE。(參考文獻8)
如果使用ip link set can0 down關閉can設備,can state顯示為: STOPPED
restart-ms 100:自動重啟的延時時間。出現(xiàn)太多錯誤時,設備可能進入總線關閉狀態(tài),給canrestart-ms 設置一個非零值,可以開啟總線關閉自動恢復功能,
設置時需要先關閉can設備,如:
ip link set can0 down
ip link set can0 type can bitrate 250000 loopback on
ip link set can0 type can restart-ms 200
ip link set can0 up
bitrate 250000 sample-point 0.800
波特率:250000
sample-point:采樣點
tq 400 prop-seg 3 phase-seg1 4 phase-seg2 2 sjw 1
mcp251x: tseg1 3..16 tseg2 2..8 sjw 1..4 brp 1..64 brp-inc 1
re-started bus-errors arbit-lost error-warn error-pass bus-off
重啟次數(shù)、總線錯誤、仲裁丟失錯誤、錯誤主動(error-warning)、錯誤被動(error-passive)、總線關閉。接收的過載錯誤在統(tǒng)計信息的"overrun"域下面列出。
TX :將套接字緩沖區(qū)的CAN幀發(fā)送到CAN控制器;RX :從CAN控制器的CAN幀讀取到套接字緩沖區(qū)。
還是看自己本地的吧
ip -s -h -d link show dev lo
補充:(1)除了ip link set 和ip link show,ip link還有其他選項,可以通過ip link help查看;(2)ip命令除了ip link還有其他選項,可以通過ip help查看;總結了指令參數(shù)的含義
IFF_ALLMULTI Receive all multicast packets. 接收所有多播數(shù)據(jù)包。
IFF_AUTOMEDIA Auto media selection active. 自動媒體選擇激活。
IFF_BROADCAST Valid broadcast address set. 有效的廣播地址集。
IFF_DEBUG Internal debugging flag. 內部調試標志。
IFF_DORMANT Driver signals dormant (since Linux 2.6.17) 驅動程序信號休眠(從Linux 2.6.17開始)
IFF_DYNAMIC The addresses are lost when the interface goes down. 當接口關閉時,地址將丟失。
IFF_ECHO Echo sent packets (since Linux 2.6.25) Echo發(fā)送的數(shù)據(jù)包(從Linux 2.6.25開始)
IFF_LOOPBACK Interface is a loopback interface. 接口是一個環(huán)回接口。
IFF_LOWER_UP Driver signals L1 up (since Linux 2.6.17) 驅動程序信號L1啟動(從Linux 2.6.17開始)
IFF_MASTER Master of a load balancing bundle. 負載平衡捆綁包的主控程序。。
IFF_MULTICAST Supports multicast 支持多播
IFF_NOARP No arp protocol, L2 destination address not set. 沒有arp協(xié)議,未設置二級目標地址。
IFF_NOTRAILERS Avoid use of trailers.
IFF_POINTOPOINT Interface is a point-to-point link.
IFF_PORTSEL Is able to select media type via ifmap.
IFF_PROMISC Interface is in promiscuous mode.
IFF_RUNNING Resources allocated.
IFF_SLAVE Slave of a load balancing bundle.
IFF_UP Interface is running.
柚子快報激活碼778899分享:macos 網(wǎng)絡相關指令
好文推薦
本文內容根據(jù)網(wǎng)絡資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。
轉載請注明,如有侵權,聯(lián)系刪除。