跳轉至內容

Linux 網路/IP 透明代理

來自華夏公益教科書,自由的教學讀物

IP 透明代理

[編輯 | 編輯原始碼]

IP 透明代理是一種功能,允許您將指向另一臺機器的伺服器或服務的連線重定向到此機器上的服務。通常這在您使用 Linux 機器作為路由器,並且還提供代理伺服器的情況下很有用。您會將所有指向該遠端服務的連線重定向到本地代理伺服器。

核心編譯選項


      Code maturity level options --->
          [*] Prompt for development and/or incomplete code/drivers
      Networking options --->
          [*] Network firewalls
          ....
          [*] TCP/IP networking
          ....
          [*] IP: firewalling
          ....
          [*] IP: transparent proxy support (EXPERIMENTAL)


透明代理功能的配置使用 ipfwadm 命令完成

一個可能很有用的例子如下

      root# ipfwadm -I -a accept -D 0/0 telnet -r 2323

此示例將導致對任何主機上的 telnet 埠 (23) 的任何連線嘗試都重定向到此主機上的埠 2323。如果您在此埠上執行服務,則可以轉發 telnet 連線、記錄它們或執行任何適合您需求的操作。

一個更有趣的示例是透過本地快取重定向所有 http 流量。但是,代理伺服器使用的協議與原生 http 不同:當客戶端連線到 www.server.com:80 並請求 /path/page 時,當它連線到本地快取時,它會聯絡 proxy.local.domain:8080 並請求 www.server.com/path/page。

要透過本地代理過濾 http 請求,您需要透過插入一個稱為 transproxy 的小型伺服器來調整協議(您可以在全球資訊網上找到它)。您可以選擇在埠 8081 上執行 transproxy,併發出此命令

      root# ipfwadm -I -a accept -D 0/0 80 -r 8081

然後,transproxy 程式將接收所有旨在到達外部伺服器的連線,並在修復協議差異後將它們傳遞給本地代理。

華夏公益教科書