將未註冊使用者重新導向到本機電腦上的站點

將未註冊使用者重新導向到本機電腦上的站點
  • 我有一台伺服器192.168.0.3(伺服器)。運行Ubuntu伺服器+DHCP伺服器+Apache;
  • 路由器192.168.0.1(ROUTER)(我無法存取它);
  • 我在伺服器上有一個網路應用程序,用於透過為網路中的用戶應用特定配置(在 DHCP 伺服器中)來註冊用戶;
  • 用戶在子網路192.168.0.0/16內;

我可以設定 DHCP 伺服器,為未註冊的電腦提供我的伺服器作為預設網關。
那我怎麼樣才能重定向所有從未註冊機器到我的傳入 http 請求本地網路應用程式192.168.0.3?

答案1

echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A PREROUTING -p tcp -dport 80 -j DNAT –to-destination 1.2.3.4:80 iptables -t nat -A POSTROUTING -jj MASQUEE

答案2

您必須設定一個特殊的 DNS 伺服器,用您的伺服器 IP 回應所有 DNS 查詢,並設定 Apache 的虛擬伺服器來接受任何主機的請求(即 *:80 + *:443)。

訣竅是,登入後,DNS 伺服器必須開始提供正確的 DNS 結果,而不是虛假的結果。您不能簡單地在 DHCP 中再次更改設置,因為預設租用時間將太長和/或用戶必須斷開連接才能獲取新設置。

許多Wi-Fi登入系統都使用這種架構,因此您也許可以找到開源解決方案。

答案3

我找到了另一種方法。

  1. 將未註冊的機器設定為 SERVER 作為預設閘道。
  2. 重定向端口80到網頁伺服器使用iptables

但我不知道具體該怎麼做:)

相關內容