Centos

是否可以限制使用者只能訪問某個網路介面?

  • November 18, 2020

我正在執行 CentOS 8 伺服器,我想創建一個只能通過 VPN 訪問網際網路的使用者。這意味著該使用者使用的所有應用程序只能通過 VPN 訪問網際網路。而其餘使用者只能訪問“正常”網路。VPN 隧道使用介面 tun0 的地方。

編輯:

對於任何在我之後嘗試做同樣事情的人,我就是這樣做的:使用帶有 VPN 拆分隧道的 DNS 時出現問題。CentOS 8

通過iptables

iptables -A OUTPUT -o VPN_INTERFACE -m owner --uid-owner USERNAME -j ACCEPT
iptables -A OUTPUT -m owner --uid-owner USERNAME -j DROP # or REJECT

筆記:

  • 您可以使用-I代替,-A但是這兩個命令必須以相反的順序發出(因為-I沒有參數將插入規則作為第一個)。
  • 如果您使用iptables -P OUTPUT DROP(預設的 OUTPUT 策略 - 不允許任何內容),則只需要第一個規則。

通過firewalld

通過豐富的規則或/和/etc/firewalld/direct.xml(基本相同):


不要忘記DNS。如果您使用 VPN 以外的介面解析域名,您的使用者將無法訪問網站。

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