Iptables

使用 iptables 過濾具有多個域的特定埠上的流量

  • April 21, 2020

假設我擁有兩個域: example1.com並且example2.com

我還有一個伺服器,其中執行了 2 個 Node.js webapp:

  • app1 在埠 81 上執行,並且
  • app2 在 82 埠上執行

現在我的兩個域都連接到該伺服器,這意味著如果我去 http://example1.com:81或去http://example2.com:81我將獲得 app1 頁面,如果我去 http://example1.com:82或去http://example2.com:82我將獲得 app2 頁面。

現在我的問題是:是否可以使用 iptables 阻止來自某個域的所有請求?

如果有人要求http://example1.com:81,他們將獲得 app1。

但如果他們要求http://example1.com:82,他們將得不到答复。

同樣,如果有人提出請求http://example2.com:82,他們將獲得 app2,

但如果他們提出請求http://example2.com:81,他們將得不到任何答复。

我希望我的問題很清楚。我很難在標題中描述它;我很抱歉。

“現在我的問題是:是否可以通過使用 iptables 來阻止來自某個域的所有請求?”

不,不帶防火牆

因為域名不是 IP 或 TCP 或級別 1 -> 3 的任何部分。客戶端首先從域名中查找 IP 地址,然後使用 IP 地址進行通信。

怎麼做,另當別論。

一些協議,例如 http,將域名嵌入到請求中。因此,您可以將過濾放在 web-server 配置中。

如果你願意,你可以在一個埠上完成這一切。或如問題中所述。

引用自:https://unix.stackexchange.com/questions/581481