Iptables
如果物理介面被防火牆阻止,openvpn 客戶端如何線上獲取數據?
從核心文件https://www.kernel.org/doc/Documentation/networking/tuntap.txt中閱讀有關 Tun/Tap 的資訊,很明顯該介面不受硬體支持。如果我設置 iptables 防火牆以拒絕除 tun0 以外的所有介面上的輸入/輸出流量,OpenVPN 客戶端如何實際獲取網路上的數據?
當核心決定將數據放在網路上的時間時,對於 tun0 介面,它會將數據發送到使用者空間程序(openvpn 客戶端)。我假設這個程序必須為隧道準備數據,然後打開一個套接字並使用像 eth0 這樣的非虛擬介面實際發送數據。但這應該被防火牆阻止。然而它確實有效。
OpenVPN 客戶端是否以某種方式繞過防火牆機制(iptables)?
iptables 阻止包括 openvpn 在內的所有流量,客戶端無法建立隧道,除非它在白名單上。但是,一旦建立隧道,它只需要打開 openvpn 埠即可繞過任何類型的流量/埠。因為無論底層流量如何,所有數據包都將封裝在 openvpn 包中。