Manpages

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手 冊 頁 翻 譯 計 劃 》 :

http://cmpp.linuxforum.net

本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。
中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh