Iptables
將所有出站連接限製到特定介面,如果不可用則阻止
我在虛擬機中執行 Centos 7(我認為這不重要,但對於上下文……)
在虛擬機內部,我正在執行軟體來建立隧道。我已經可以接受來自主機的連接了,但我想強制所有出站流量通過隧道。
如何允許現有連接的返回數據包,同時確保除非超過 tun0,否則不會從框中建立新連接?
我已經看過這個問題iptables blocking all outbound connections但它看起來有點暴力……我一直在使用
firewall-cmd
並且輸出iptables -L -n -v
很冗長。相反,使用Use specific interface for outbound connections (Ubuntu 9.04),我看不到如何將其應用於 centos。
如何可靠地確保所有出站流量要麼通過 tun0 建立,要麼根本不建立?
這將有效地阻止除 tun0 之外的任何傳出 (IPv4) 流量。
iptables -F OUTPUT iptables -A OUTPUT -o tun0 -j ACCEPT iptables -P OUTPUT DROP
請注意,這將阻止除 tun0 以外的任何介面上的****任何出站流量,其中包括 DHCP 流量、已建立的 SSH 隧道或來自已建立隧道的出站數據包。
這可以類似地應用於 IPv6,使用
ip6tables
.