某些東西(但不是 iptables)神秘地重定向了網路流量 - 如何診斷?
概括
有一個 virtualbox 主機 (1.1.1.5) 和一個路由來賓 (1.1.1.6)。有東西將埠 25 上的任何流量與訪客重定向到 1.1.1.5 埠 2525,無論是傳入還是傳出,我無法找出是什麼。
當然,這篇文章的 ips 和 macs 已更改。
設置
我有以下設置:
- 有一個 IP 為 1.1.1.5 的 debian 根伺服器,託管一個 virtualbox 伺服器
- 第二個 IP (1.1.1.6) 被路由到這個伺服器
- 第二個 IP 被路由到一個虛擬網路介面“virbr1”,該介面由 debian virtualbox 來賓郵件伺服器使用
- 在根伺服器上,iptables 正在執行並配置了 ufw
設置完美無缺 - 我可以在 1.1.1.6 上 ping 郵件伺服器並訪問其 Web 界面等,郵件伺服器可以訪問網際網路,一切都很好,除了一個埠:嘗試訪問埠 25 上的郵件伺服器不起作用。
這與 ISP 阻塞埠 25 或類似的東西無關,它更複雜。繼續閱讀:)
問題診斷
從外部遠端登錄
當我嘗試從另一台伺服器遠端登錄時:
telnet 1.1.1.6 25
連接將超時。在主機系統 (1.1.1.5) 的 syslog 中,出現以下來自 ip tables 的消息:
[UFW BLOCK] IN=eth0 OUT= MAC=c8:c8:c8:c8:c8:c8:c8:fe:3d:46:e6:0f:08:00 SRC=2.2.2.5 DST=1.1.1.5 LEN=64 TOS=0x00 PREC=0x00 TTL=55 ID=45855 DF PROTO=TCP SPT=64059 DPT=2525 WINDOW=65535 RES=0x00 SYN URGP=0
這裡需要注意一件重要的事情:我嘗試連接到 1.1.1。6在埠25上,但 iptables 塊發生在 1.1.1 上。5在埠2525
從訪客箱遠端登錄
當我 SSH 到郵件伺服器來賓,然後 telnet 另一台伺服器時:
telnet 9.9.9.5 25
連接也會超時。請注意,所有其他埠或連接都有效。在主機系統的日誌中,會出現以下野性消息:
[UFW BLOCK] IN=virbr1 OUT= MAC=aa:aa:ab:ac:ad:af:af:ag:ag SRC=1.1.1.6 DST=1.1.1.5 LEN=60 TOS=0x10 PREC=0x00 TTL=64 ID=3529 DF PROTO=TCP SPT=45250 DPT=2525 WINDOW=14600 RES=0x00 SYN URGP=0
需要注意的重要一點:DST 應該是 9.9.9.5,而是主機伺服器 IP。DPT 預計為 25,但為 2525。
假設
看起來主機系統 1.1.1.5 上的某些東西將埠 25 上通過它的任何流量重定向到埠 2525 上的自身。
尋找原因
我嘗試了以下方法來查找此行為的原因:
netstat -lnp
在主機上顯示沒有綁定到埠 25 或 2525- 中的配置文件
/etc/ufw
,尤其是 before.rules,除了必要的之外,沒有任何關於埠 25 的內容-A ufw-before-forward -i eth0 -d 1.1.1.6 -p tcp --dport 25 -j ACCEPT
- using
iptables -L -n | grep "25"
僅在前向鏈中顯示上述規則- 即使在
ufw logging high
上面提到的與有問題的數據包相關的塊消息之前,系統日誌也不包含任何內容。- 禁用防火牆
ufw disable
不會改變問題- 沒有配置文件提到 2525:
egrep -R "2525" /etc
不返回任何內容。所以現在,我一無所知。我應該如何進一步診斷這個問題?可能是什麼原因?
解決方案非常簡單:我不知道它
iptables -L -n
不會顯示所有規則,但您必須指定iptables -t nat -L
顯示預路由表。它包含埠 2525 的重定向。不知道它來自哪裡,但刪除它解決了問題。所以,孩子們:如果你曾經嘗試診斷 iptables 路由問題,請注意有不止一張表並檢查 nat 表。
除此之外,對不起這個相當無用的問題。