首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有可能限制用户只能访问某个网络接口?

是否有可能限制用户只能访问某个网络接口?
EN

Unix & Linux用户
提问于 2020-11-13 11:31:43
回答 2查看 1.3K关注 0票数 3

我正在运行一个CentOS 8服务器,我想创建一个用户,它只有网络访问互联网通过虚拟专用网。这意味着该用户使用的所有应用程序只能通过VPN访问internet。而其他用户只能访问“正常”网络。其中VPN隧道使用接口tun0。

编辑:

对任何想要做同样事情的人来说,我就是这样做的:使用DNS与VPN分割隧道发生问题。CentOS 8

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2020-11-13 12:18:47

通过iptables

代码语言:javascript
复制
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 (默认输出策略--不允许任何内容),那么只需要第一个规则。

通过firewalld

通过丰富的规则或/和/etc/firewalld/direct.xml (基本上相同):

别忘了DNS。如果您使用VPN以外的接口解析域名,您的用户将无法访问网站。

票数 2
EN

Unix & Linux用户

发布于 2020-11-13 12:23:26

由于您有一个不同的NIcs,如注释中所提到的,所以可以将iptables与-o一起用于nic和-uid-owner:

VPN nic的授权输出:

代码语言:javascript
复制
iptables -A OUTPUT -o <vpn-nic> -m owner --uid-owner {<username>} -j ACCEPT

其他nics的出站:

代码语言:javascript
复制
iptables -A INPUT  -m owner --uid-owner {<username>} -j REJECT

使其永久化:

代码语言:javascript
复制
sudo iptables-save /etc/sysconfig/iptables
sudo chkconfig iptables on
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/619442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档