NAME
iptables - IP包 過 濾 器 管 理
總 覽
iptables -ADC
指 定 鏈 的 規 則 [-A
添 加 -D 刪 除 -C 修 改
]
iptables - RI
iptables -D chain rule num[option]
iptables -LFZ 鏈 名 [選 項 ]
iptables -[NX] 指 定 鏈
iptables -P chain target[options]
iptables -E old-chain-name new-chain-name
說 明
Iptalbes 是 用 來 設 置 、 維 護 和 檢 查 Linux內 核 的 IP包 過 濾 規 則 的 。
可 以 定 義 不 同 的 表 , 每 個 表 都 包 含 幾 個 內 部 的 鏈 , 也 能 包 含 用 戶 定 義 的 鏈 。 每 個 鏈 都 是 一 個 規 則 列 表 , 對 對 應 的 包 進 行 匹 配 : 每 條 規 則 指 定 應 當 如 何 處 理 與 之 相 匹 配 的 包 。 這 被 稱 作 ’target’( 目 標 ) , 也 可 以 跳 向 同 一 個 表 內 的 用 戶 定 義 的 鏈 。
TARGETS
防 火 牆 的 規 則 指 定 所 檢 查 包 的 特 徵 , 和 目 標 。 如 果 包 不 匹 配 , 將 送 往 該 鏈 中 下 一 條 規 則 檢 查 ; 如 果 匹 配 ,那 麼 下 一 條 規 則 由 目 標 值 確 定 .該 目 標 值 可 以 是 用 戶 定 義 的 鏈 名 ,或 是 某 個 專 用 值 ,如 ACCEPT[通 過 ], DROP[刪 除 ], QUEUE[排 隊 ],或 者 RETURN[返 回 ]。
ACCEPT
表 示 讓 這 個 包
通 過 。
DROP
表 示 將 這 個 包
丟 棄 。
QUEUE
表 示 把 這 個 包
傳 遞 到 用 戶 空
間 。
RETURN
表 示 停 止 這 條
鏈 的 匹 配 , 到
前 一 個 鏈 的 規
則 重 新 開 始 。
如 果 到 達 了 一
個 內 建 的
鏈 (的 末 端 ), 或
者 遇 到 內 建 鏈
的 規 則 是 RETURN, 包
的 命 運 將 由 鏈
準 則 指 定 的
目 標 決 定 。
TABLES
當
前 有 三 個 表 (
哪 個 表 是 當 前
表 取 決 於 內 核
配 置 選 項 和 當
前 模 塊 )。
-t table
這 個 選 項 指 定 命 令 要 操 作 的 匹 配 包 的 表 。 如 果 內 核 被 配 置 爲 自 動 加 載 模 塊 , 這 時 若 模 塊 沒 有 加 載 , (系 統 )將 嘗 試 (爲 該 表 )加 載 適 合 的 模 塊 。
這 些 表 如 下 :
filter |
,這 是 默 認 的 表 , 包 含 了 內 建 的 鏈 INPUT( 處 理 進 入 的 包 ) 、 FORWORD( 處 理 通 過 的 包 ) 和 OUTPUT( 處 理 本 地 生 成 的 包 ) 。 | ||
nat |
這 個 表 被 查 詢 時 表 示 遇 到 了 產 生 新 的 連 接 的 包 ,由 三 個 內 建 的 鏈 構 成 : PREROUTING |
(修 改 到
來 的 包 )、 OUTPUT( 修
改 路 由 之 前 本
地 的 包 ) 、 POSTROUTING
( 修 改 準 備 出
去 的 包 ) 。
mangle |
這 個 表 用 來 對 指 定 的 包 進 行 修 改 。 它 有 兩 個 內 建 規 則 : PREROUTING( 修 改 路 由 之 |
前 進 入 的 包 ) 和 OUTPUT( 修 改 路 由 之 前 本 地 的 包 ) 。
OPTIONS
這 些 可 被 iptables識 別 的 選 項 可 以 區 分 不 同 的 種 類 。
COMMANDS
這 些 選 項 指 定
執 行 明 確 的 動
作 : 若 指 令 行
下 沒 有 其 他 規
定 ,該 行 只 能 指
定 一 個 選 項 . 對
於 長 格 式 的 命
令 和 選 項 名 ,所
用 字 母 長 度 只
要 保 證 iptables能 從
其 他 選 項 中 區
分 出 該 指 令 就
行 了 。
-A -append
在 所 選 擇 的 鏈 末 添 加 一 條 或 更 多 規 則 。 當 源 ( 地 址 ) 或 者 /與 目 的 ( 地 址 ) 轉 換 爲 多 於 一 個 (多 個 )地 址 時 , 這 條 規 則 會 加 到 所 有 可 能 的 地 址 (組 合 )後 面 。
-D -delete
從 所 選 鏈 中 刪 除 一 條 或 更 多 規 則 。 這 條 命 令 可 以 有 兩 種 方 法 : 可 以 把 被 刪 除 規 則 指 定 爲 鏈 中 的 序 號 (第 一 條 序 號 爲 1),或 者 指 定 爲 要 匹 配 的 規 則 。
-R -replace
從 選 中 的 鏈 中 取 代 一 條 規 則 。 如 果 源 ( 地 址 ) 或 者 /與 目 的 ( 地 址 ) 被 轉 換 爲 多 地 址 , 該 命 令 會 失 敗 。 規 則 序 號 從 1開 始 。
-I -insert
根 據 給 出 的 規 則 序 號 向 所 選 鏈 中 插 入 一 條 或 更 多 規 則 。 所 以 , 如 果 規 則 序 號 爲 1, 規 則 會 被 插 入 鏈 的 頭 部 。 這 也 是 不 指 定 規 則 序 號 時 的 默 認 方 式 。
-L -list
顯 示 所 選 鏈 的 所 有 規 則 。 如 果 沒 有 選 擇 鏈 , 所 有 鏈 將 被 顯 示 。 也 可 以 和 z選 項 一 起 使 用 , 這 時 鏈 會 被 自 動 列 出 和 歸 零 。 精 確 輸 出 受 其 它 所 給 參 數 影 響 。
-F -flush
清 空 所 選 鏈 。 這 等 於 把 所 有 規 則 一 個 個 的 刪 除 。
--Z -zero
把 所 有 鏈 的 包 及 字 節 的 計 數 器 清 空 。 它 可 以 和 -L配 合 使 用 , 在 清 空 前 察 看 計 數 器 , 請 參 見 前 文 。
-N -new-chain
根 據 給 出 的 名 稱 建 立 一 個 新 的 用 戶 定 義 鏈 。 這 必 須 保 證 沒 有 同 名 的 鏈 存 在 。
-X -delete-chain
刪 除 指 定 的 用 戶 自 定 義 鏈 。 這 個 鏈 必 須 沒 有 被 引 用 , 如 果 被 引 用 , 在 刪 除 之 前 你 必 須 刪 除 或 者 替 換 與 之 有 關 的 規 則 。 如 果 沒 有 給 出 參 數 , 這 條 命 令 將 試 着 刪 除 每 個 非 內 建 的 鏈 。
-P -policy
設 置 鏈 的 目 標 規 則 。
-E -rename-chain
根 據 用 戶 給 出 的 名 字 對 指 定 鏈 進 行 重 命 名 , 這 僅 僅 是 修 飾 , 對 整 個 表 的 結 構 沒 有 影 響 。 TARGETS參 數 給 出 一 個 合 法 的 目 標 。 只 有 非 用 戶 自 定 義 鏈 可 以 使 用 規 則 , 而 且 內 建 鏈 和 用 戶 自 定 義 鏈 都 不 能 是 規 則 的 目 標 。
-h Help.
幫 助 。 給 出 當 前 命 令 語 法 非 常 簡 短 的 說 明 。
參
數
以 下 參 數 構 成
規 則 詳 述 , 如
用 於 add、 delete、 replace、
append 和 check命 令 。
-p -protocal [!]protocol
規 則 或 者 包 檢 查 (待 檢 查 包 )的 協 議 。 指 定 協 議 可 以 是 tcp、 udp、 icmp中 的 一 個 或 者 全 部 , 也 可 以 是 數 值 , 代 表 這 些 協 議 中 的 某 一 個 。 當 然 也 可 以 使 用 在 /etc/pro tocols中 定 義 的 協 議 名 。 在 協 議 名 前 加 上 "!"表 示 相 反 的 規 則 。 數 字 0相 當 於 所 有 all。 Protocol all會 匹 配 所 有 協 議 , 而 且 這 是 缺 省 時 的 選 項 。 在 和 check命 令 結 合 時 , all可 以 不 被 使 用 。
-s -source [!] address[/mask]
指 定 源
地 址 , 可 以 是
主 機 名 、 網 絡
名 和 清 楚 的 IP地
址 。 mask說 明 可 以
是 網 絡 掩 碼 或
清 楚 的 數 字 ,
在 網 絡 掩 碼 的
左 邊 指 定 網 絡
掩 碼 左 邊 ”1”的
個 數 , 因 此 , mask
值 爲 24等 於 255.255.255.0。
在 指 定 地 址 前
加 上 "!"說 明 指
定 了 相 反 的 地
址 段 。 標 誌
--src 是 這 個 選 項 的
簡 寫 。
-d --destination [!] address[/mask]
指 定 目 標 地 址 , 要 獲 取 詳 細 說 明 請 參 見 -s標 誌 的 說 明 。 標 誌 --dst 是 這 個 選 項 的 簡 寫 。
-j --jump target
(-j 目 標 跳 轉 )指 定 規 則 的 目 標 ; 也 就 是 說 , 如 果 包 匹 配 應 當 做 什 麼 。 目 標 可 以 是 用 戶 自 定 義 鏈 ( 不 是 這 條 規 則 所 在 的 ) , 某 個 會 立 即 決 定 包 的 命 運 的 專 用 內 建 目 標 , 或 者 一 個 擴 展 ( 參 見 下 面 的 EXTENSIONS) 。 如 果 規 則 的 這 個 選 項 被 忽 略 , 那 麼 匹 配 的 過 程 不 會 對 包 產 生 影 響 , 不 過 規 則 的 計 數 器 會 增 加 。
-i -in-interface [!] [name]
(i -進 入 的 ( 網 絡 ) 接 口 [!][名 稱 ])這 是 包 經 由 該 接 口 接 收 的 可 選 的 入 口 名 稱 , 包 通 過 該 接 口 接 收 ( 在 鏈 INPUT、 FORWORD和 PREROUTING中 進 入 的 包 ) 。 當 在 接 口 名 前 使 用 "!"說 明 後 , 指 的 是 相 反 的 名 稱 。 如 果 接 口 名 後 面 加 上 "+", 則 所 有 以 此 接 口 名 開 頭 的 接 口 都 會 被 匹 配 。 如 果 這 個 選 項 被 忽 略 , 會 假 設 爲 "+", 那 麼 將 匹 配 任 意 接 口 。
-o --out-interface [!][name]
(-o --輸 出 接 口 [名 稱 ])這 是 包 經 由 該 接 口 送 出 的 可 選 的 出 口 名 稱 , 包 通 過 該 口 輸 出 ( 在 鏈 FORWARD、 OUTPUT和 POSTROUTING中 送 出 的 包 ) 。 當 在 接 口 名 前 使 用 "!"說 明 後 , 指 的 是 相 反 的 名 稱 。 如 果 接 口 名 後 面 加 上 "+", 則 所 有 以 此 接 口 名 開 頭 的 接 口 都 會 被 匹 配 。 如 果 這 個 選 項 被 忽 略 , 會 假 設 爲 "+", 那 麼 將 匹 配 所 有 任 意 接 口 。
[!] -f, --fragment
( [!] -f --分 片 )這 意 味 着 在 分 片 的 包 中 , 規 則 只 詢 問 第 二 及 以 後 的 片 。 自 那 以 後 由 於 無 法 判 斷 這 種 把 包 的 源 端 口 或 目 標 端 口 ( 或 者 是 ICMP類 型 的 ) , 這 類 包 將 不 能 匹 配 任 何 指 定 對 他 們 進 行 匹 配 的 規 則 。 如 果 "!"說 明 用 在 了 "-f"標 誌 之 前 , 表 示 相 反 的 意 思 。 TP -c, --set-counters PKTS BYTES This enables the administrater to initialize the packet and byte counters of a rule (during INSERT, APPEND, REPLACE operations)
其
他 選 項
還 可 以 指 定 下
列 附 加 選 項 :
-v --verbose
詳 細 輸 出 。 這 個 選 項 讓 list命 令 顯 示 接 口 地 址 、 規 則 選 項 ( 如 果 有 ) 和 TOS ( Type of Service) 掩 碼 。 包 和 字 節 計 數 器 也 將 被 顯 示 , 分 別 用 K、 M、 G (前 綴 )表 示 1000、 1,000,000和 1,000,000,000倍 ( 不 過 請 參 看 -x標 誌 改 變 它 ) , 對 於 添 加 ,插 入 ,刪 除 和 替 換 命 令 , 這 會 使 一 個 或 多 個 規 則 的 相 關 詳 細 信 息 被 打 印 。
-n --numeric
數 字 輸 出 。 IP地 址 和 端 口 會 以 數 字 的 形 式 打 印 。 默 認 情 況 下 , 程 序 試 顯 示 主 機 名 、 網 絡 名 或 者 服 務 ( 只 要 可 用 ) 。
-x -exact
擴 展 數 字 。 顯 示 包 和 字 節 計 數 器 的 精 確 值 , 代 替 用 K,M,G表 示 的 約 數 。 這 個 選 項 僅 能 用 於 -L 命 令 。
--line-numbers
當 列 表 顯 示 規 則 時 , 在 每 個 規 則 的 前 面 加 上 行 號 , 與 該 規 則 在 鏈 中 的 位 置 相 對 應 。
對 應 的 擴 展
iptables能 夠 使 用 一 些 與 模 塊 匹 配 的 擴 展 包 。 以 下 就 是 含 於 基 本 包 內 的 擴 展 包 , 而 且 他 們 大 多 數 都 可 以 通 過 在 前 面 加 上 !來 表 示 相 反 的 意 思 。
tcp
當 --protocol tcp 被 指 定 ,且
其 他 匹 配 的 擴
展 未 被 指 定 時
,這 些 擴 展 被 裝
載 。 它 提 供 以
下 選 項 :
--source-port [!] [port[:port]]
源 端 口 或 端 口 範 圍 指 定 。 這 可 以 是 服 務 名 或 端 口 號 。 使 用 格 式 端 口 : 端 口 也 可 以 指 定 包 含 的 ( 端 口 ) 範 圍 。 如 果 首 端 口 號 被 忽 略 , 默 認 是 "0", 如 果 末 端 口 號 被 忽 略 , 默 認 是 "65535", 如 果 第 二 ?齠 絲 諍 糯 笥 詰 諞 桓 觶 ?敲 此 ?腔 岜 喚 換 弧 U 飧 鮁 ∠羈 梢 允 褂 ? --sport的 別 名 。
--destionation-port [!] [port:[port]]
目 標 端 口 或 端 口 範 圍 指 定 。 這 個 選 項 可 以 使 用 --dport別 名 來 代 替 。
--tcp-flags [!] mask comp
匹 配 指
定 的 TCP標 記 。 第
一 個 參 數 是 我
們 要 檢 查 的 標
記 , 一 個 用 逗
號 分 開 的 列 表
, 第 二 個 參 數
是 用 逗 號 分 開
的 標 記 表 ,是 必
須 被 設 置 的 。
標 記 如 下 : SYN ACK FIN
RST URG PSH ALL NONE。 因 此 這
條 命 令 : iptables -A FORWARD -p
tcp --tcp-flags SYN, ACK,
FIN, RST SYN只 匹 配 那 些
SYN標 記 被 設 置 而
ACK、 FIN和 RST標 記 沒
有 設 置 的 包 。
[!] --syn
只 匹 配 那 些 設 置 了 SYN位 而 清 除 了 ACK和 FIN位 的 TCP包 。 這 些 包 用 於 TCP連 接 初 始 化 時 發 出 請 求 ; 例 如 , 大 量 的 這 種 包 進 入 一 個 接 口 發 生 堵 塞 時 會 阻 止 進 入 的 TCP連 接 , 而 出 去 的 TCP連 接 不 會 受 到 影 響 。 這 等 於 --tcp-flags SYN, RST, ACK SYN。 如 果 "--syn"前 面 有 "!"標 記 , 表 示 相 反 的 意 思 。
--tcp-option [!] number
匹 配 設 置 了 TCP選 項 的 。
udp
當 protocol udp 被 指 定 ,且
其 他 匹 配 的 擴
展 未 被 指 定 時
,這 些 擴 展 被 裝
載 ,它 提 供 以 下
選 項 :
--source-port [!] [port:[port]]
源 端 口 或 端 口 範 圍 指 定 。 詳 見 TCP擴 展 的 --source-port選 項 說 明 。
--destination-port [!] [port:[port]]
目 標 端 口 或 端 口 範 圍 指 定 。 詳 見 TCP擴 展 的 --destination-port選 項 說 明 。
icmp
當 protocol icmp被 指 定 ,且
其 他 匹 配 的 擴
展 未 被 指 定 時
,該 擴 展 被 裝 載
。 它 提 供 以 下
選 項 :
--icmp-type [!] typename
這 個 選
項 允 許 指 定 ICMP類
型 , 可 以 是 一
個 數 值 型 的 ICMP?嘈
停 ?蛘 呤 悄 掣 鮎
擅 ??
iptables -p icmp -h
所 顯 示 的 ICMP類 型
名 。
mac
--mac-source [!] address
匹 配 物 理 地 址 。 必 須 是 XX:XX:XX:XX:XX這 樣 的 格 式 。 注 意 它 只 對 來 自 以 太 設 備 並 進 入 PREROUTING、 FORWORD和 INPUT鏈 的 包 有 效 。
limit
這 個 模 塊 匹 配
標 誌 用 一 個 標
記 桶 過 濾 器 一
一 定 速 度 進 行
匹 配 ,它 和 LOG 目 標
結 合 使 用 來 給
出 有 限 的 登 陸
數 .當 達 到 這 個
極 限 值 時 ,使 用
這 個 擴 展 包 的
規 則 將 進 行 匹
配 .(除 非 使 用 了
”!”標 記 )
--limit rate
最 大 平 均 匹 配 速 率 : 可 賦 的 值 有 ’/second’, ’/minute’, ’/hour’, or ’/day’這 樣 的 單 位 , 默 認 是 3/hour。
--limit-burst number
待 匹 配 包 初 始 個 數 的 最 大 值 :若 前 面 指 定 的 極 限 還 沒 達 到 這 個 數 值 ,則 概 數 字 加 1.默 認 值 爲 5
multiport
這 個 模 塊 匹 配 一 組 源 端 口 或 目 標 端 口 ,最 多 可 以 指 定 15個 端 口 。 只 能 和 -p tcp 或 者 -p udp 連 着 使 用 。
--source-port [port[, port]]
如 果 源 端 口 是 其 中 一 個 給 定 端 口 則 匹 配
--destination-port [port[, port]]
如 果 目 標 端 口 是 其 中 一 個 給 定 端 口 則 匹 配
--port [port[, port]]
若 源 端 口 和 目 的 端 口 相 等 並 與 某 個 給 定 端 口 相 等 ,則 匹 配 。
mark
這 個 模 塊 和 與
netfilter過 濾 器 標 記
字 段 匹 配 ( 就
可 以 在 下 面 設
置 爲 使 用 MARK標 記
) 。
--mark value [/mask]
匹 配 那 些 無 符 號 標 記 值 的 包 ( 如 果 指 定 mask, 在 比 較 之 前 會 給 掩 碼 加 上 邏 輯 的 標 記 ) 。
owner
此 模 塊 試 爲 本
地 生 成 包 匹 配
包 創 建 者 的 不
同 特 徵 。 只 能
用 於 OUTPUT鏈 , 而 且
即 使 這 樣 一 些
包 ( 如 ICMP ping應 答
) 還 可 能 沒 有
所 有 者 , 因 此
永 遠 不 會 匹 配
。
--uid-owner userid
如 果 給 出 有 效 的 user id, 那 麼 匹 配 它 的 進 程 產 生 的 包 。
--gid-owner groupid
如 果 給 出 有 效 的 group id, 那 麼 匹 配 它 的 進 程 產 生 的 包 。
--sid-owner seessionid
根 據 給 出 的 會 話 組 匹 配 該 進 程 產 生 的 包 。
state
此 模 塊 , 當 與
連 接 跟 蹤 結 合
使 用 時 , 允 許
訪 問 包 的 連 接
跟 蹤 狀 態 。
--state state
這 裏 state是 一 個 逗 號 分 割 的 匹 配 連 接 狀 態 列 表 。 可 能 的 狀 態 是 :INVALID 表 示 包 是 未 知 連 接 , ESTABLISHED表 示 是 雙 向 傳 送 的 連 接 , NEW表 示 包 爲 新 的 連 接 , 否 則 是 非 雙 向 傳 送 的 , 而 RELATED表 示 包 由 新 連 接 開 始 , 但 是 和 一 個 已 存 在 的 連 接 在 一 起 , 如 FTP數 據 傳 送 , 或 者 一 個 ICMP錯 誤 。
unclean
此 模 塊 沒 有 可
選 項 , 不 過 它
試 着 匹 配 那 些
奇 怪 的 、 不 常
見 的 包 。 處 在
實 驗 中 。
tos
此 模 塊 匹 配 IP包
首 部 的 8位 tos( 服
務 類 型 ) 字 段
( 也 就 是 說 ,
包 含 在 優 先 位
中 ) 。
--tos tos
這 個 參 數 可 以 是 一 個 標 準 名 稱 , ( 用 iptables -m tos -h 察 看 該 列 表 ) , 或 者 數 值 。
TARGET EXTENSIONS
iptables可 以 使 用 擴 展 目 標 模 塊 : 以 下 都 包 含 在 標 準 版 中 。
LOG
爲 匹 配 的 包 開
啓 內 核 記 錄 。
當 在 規 則 中 設
置 了 這 一 選 項
後 , linux內 核 會 通
過 printk()打 印 一 些
關 於 全 部 匹 配
包 的 信 息 ( 諸
如 IP包 頭 字 段 等
) 。
--log-level level
記 錄 級 別 ( 數 字 或 參 看 syslog.conf(5)) 。
--log-prefix prefix
在 紀 錄 信 息 前 加 上 特 定 的 前 綴 : 最 多 14個 字 母 長 , 用 來 和 記 錄 中 其 他 信 息 區 別 。
--log-tcp-sequence
記 錄 TCP序 列 號 。 如 果 記 錄 能 被 用 戶 讀 取 那 麼 這 將 存 在 安 全 隱 患 。
--log-tcp-options
記 錄 來 自 TCP包 頭 部 的 選 項 。
--log-ip-options
記 錄 來 自 IP包 頭 部 的 選 項 。
MARK
用 來 設 置 包 的
netfilter標 記 值 。 只
適 用 於 mangle表 。
--set-mark mark
REJECT
作 爲 對 匹 配 的
包 的 響 應 , 返
回 一 個 錯 誤 的
包 : 其 他 情 況
下 和 DROP相 同 。 此
目 標 只 適 用 於
INPUT、 FORWARD和 OUTPUT鏈 ,
和 調 用 這 些 鏈
的 用 戶 自 定 義
鏈 。 這 幾 個 選
項 控 制 返 回 的
錯 誤 包 的 特 性
:
--reject-with type
Type可 以 是
icmp-net-unreachable、 icmp-host-unreachable、
icmp-port-nreachable、 icmp-prot o-unreachable、
icmp-net-prohibited 或 者
icmp-host-prohibited, 該 類 型
會 返 回 相 應 的
ICMP錯 誤 信 息 ( 默
認 是 port-unreachable) 。 選
項
echo-reply也 是 允 許 的
; 它 只 能 用 於
指 定 ICMP
ping包 的 規 則 中 ,
生 成 ping的 迴 應 。
最 後 , 選 項
tcp-reset可 以 用 於 在
INPUT鏈 中 ,或
自 INPUT鏈 調 用 的 規
則 , 只 匹 配 TCP協
議 : 將 回 應 一
個 TCP
RST包 。
TOS
用 來 設 置 IP包 的
首 部 八 位 tos。 只
能 用 於 mangle表 。
--set-tos tos
你 可 以 使 用 一 個 數 值 型 的 TOS 值 , 或 者 用 iptables -j TOS -h 來 查 看 有 效 TOS名 列 表 。
MIRROR
這 是 一 個 試 驗
示 範 目 標 , 可
用 於 轉 換 IP首 部
字 段 中 的 源 地
址 和 目 標 地 址
, 再 傳 送 該 包
,並 只 適 用 於 INPUT、
FORWARD和 OUTPUT鏈 , 以 及
只 調 用 它 們 的
用 戶 自 定 義 鏈
。
SNAT
這 個 目 標 只 適
用 於 nat表 的 POSTROUTING鏈
。 它 規 定 修 改
包 的 源 地 址 (
此 連 接 以 後 所
有 的 包 都 會 被
影 響 ) , 停 止
對 規 則 的 檢 查
, 它 包 含 選 項
:
--to-source
<ipaddr>[-<ipaddr>][:port-port]
可 以 指 定 一 個 單 一 的 新 的 IP地 址 , 一 個 IP地 址 範 圍 , 也 可 以 附 加 一 個 端 口 範 圍 ( 只 能 在 指 定 -p tcp 或 者 -p udp的 規 則 裏 ) 。 如 果 未 指 定 端 口 範 圍 , 源 端 口 中 512以 下 的 ( 端 口 ) 會 被 安 置 爲 其 他 的 512以 下 的 端 口 ; 512到 1024之 間 的 端 口 會 被 安 置 爲 1024以 下 的 , 其 他 端 口 會 被 安 置 爲 1024或 以 上 。 如 果 可 能 , 端 口 不 會 被 修 改 。
--to-destiontion <ipaddr>[-<ipaddr>][:port-port]
可 以 指
定 一 個 單 一 的
新 的 IP地 址 , 一
個 IP地 址 範 圍 ,
也 可 以 附 加 一
個 端 口 範 圍 (
只 能 在 指 定 -p tcp 或
者 -p
udp的 規 則 裏 ) 。
如 果 未 指 定 端
口 範 圍 , 目 標
端 口 不 會 被 修
改 。
MASQUERADE
只 用 於 nat表 的
POSTROUTING鏈 。 只 能 用
於 動 態 獲 取 IP(
撥 號 ) 連 接 :
如 果 你 擁 有 靜
態 IP 地 址 , 你 要
用 SNAT。 僞 裝 相 當
於 給 包 發 出 時
所 經 過 接 口 的
IP地 址 設 置 一 個
映 像 , 當 接 口
關 閉 連 接 會 終
止 。 這 是 因 爲
當 下 一 次 撥 號
時 未 必 是 相 同
的 接 口 地 址 (
以 後 所 有 建 立
的 連 接 都 將 關
閉 ) 。 它 有 一
個 選 項 :
--to-ports <port>[-port>]
指 定 使 用 的 源 端 口 範 圍 , 覆 蓋 默 認 的 SNAT源 地 址 選 擇 ( 見 上 面 ) 。 這 個 選 項 只 適 用 於 指 定 了 -p tcp或 者 -p udp的 規 則 。
REDIRECT
只 適 用 於 nat表 的
PREROUTING和 OUTPUT鏈 , 和 只
調 用 它 們 的 用
戶 自 定 義 鏈 。
它 修 改 包 的 目
標 IP地 址 來 發 送
包 到 機 器 自 身
( 本 地 生 成 的
包 被 安 置 爲 地
址 127.0.0.1) 。 它 包
含 一 個 選 項 :
--to-ports <port>[<port>]
指 定 使 用 的 目 的 端 口 或 端 口 範 圍 : 不 指 定 的 話 , 目 標 端 口 不 會 被 修 改 。 只 能 用 於 指 定 了 -p tcp 或 -p udp的 規 則 。
診 斷
不 同 的 錯 誤 信 息 會 打 印 成 標 準 錯 誤 : 退 出 代 碼 0表 示 正 確 。 類 似 於 不 對 的 或 者 濫 用 的 命 令 行 參 數 錯 誤 會 返 回 錯 誤 代 碼 2, 其 他 錯 誤 返 回 代 碼 爲 1。
臭 蟲
檢 查 還 未 完 成 。
COMPATIBILITY WITH IPCHAINS
與 ipchains的 兼 容 性
This iptables
is very similar to ipchains by Rusty Russell. The main
difference
is that the chains INPUT and OUTPUT are only traversed for
packets coming into
the local host and originating from the local host
respectively. Hence every
pack only passes through one of the three chains; previously
a forwarded packet
would pass through all three. The other main difference is
that -I refers to
input interface; -o refers to the output interface, and both
are available for
packets entering the FORWARD chain. iptables is a pure
packet filter when using
the default filter’ table, with optional extension
modules. This should
simplify much of the previous confusion over the combination
of IP masquerading
and packet filtering seen previously. So the following
options are handled
differently: -j MASQ -M -S -M -L There are several other
chaines in iptables iptables和 Rusty Russell的
ipchains非 常 相 似 。
主 要 區 別 是 INPUT 鏈
只 用 於 進 入 本
地 主 機 的 包 ,而
OUTPUT只 用 於 自 本 地
主 機 生 成 的 包
。 因 此 每 個 包
只 經 過 三 個 鏈
的 一 個 ; 以 前
轉 發 的 包 會 經
過 所 有 三 個 鏈
。 其 他 主 要 區
別 是 -i 引 用 進 入
接 口 ; -o引 用 輸
出 接 口 , 兩 者
都 適 用 於 進 入
FORWARD鏈 的 包 。 當 和
可 選 擴 展 模 塊
一 起 使 用 默 認
過 濾 器 表 時 ,
iptables是 一 個 純 粹
的 包 過 濾 器 。
這 能 大 大 減 少
以 前 對 IP僞 裝 和
包 過 濾 結 合 使
用 的 混 淆 , 所
以 以 下 選 項 作
了 不 同 的 處 理
: -j MASQ -M -S -M -L 在 iptables中
有 幾 個 不 同 的
鏈 。
參 見
iptables-HOWTO有 詳 細 的 iptables用 法 ,對 netfilter-hacking-HOWTO也 有 詳 細 的 本 質 說 明 。
作 者
Rusty Russell
wrote iptables, in early consultation with Michael Neuling.
Marc Boucher made Rusty abandon ipnatctl by lobbying for a
generic packet
selection framework in iptables, then wrote the mangle
table, the owner match,
the mark stuff, and ranaround doing cool stuff everywhere.
James Morris wrote the TOS target, and tos match. Jozsef
Kadlecsik wrote the REJECT target. The Netfilter Core Team
is: Marc Boucher, Rusty Russell.
Mar 20, 2000
[中 文 版 維 護 人 ]
楊 鵬 ·NetSnake <netsnake [AT] 963.net>
[中 文 版 最 新 更 新 ]
2003.11.20
《 中 國 linux論 壇 man手 冊 頁 翻 譯 計 劃 》 :
跋
本
頁 面 中 文 版 由
中 文 man 手 冊 頁 計
劃 提 供 。
中 文 man 手 冊 頁 計
劃 :
https://github.com/man-pages-zh/manpages-zh