我有一个VPN客户端路由器安装在我的正常路由器后面。我的笔记本电脑硬连接到VPN路由器,无线连接到普通路由器。我想限制user1对网络的访问只能通过虚拟专用网(有线连接)。但是,我希望允许通过有线或无线访问user2。有什么简单的方法吗?提亚
发布于 2021-03-29 23:46:23
我发现的最简单的方法是(在sudo支持的帐户上)在/etc/systemd/system/中创建一个Systemd服务文件,如下所示(用它们各自的值替换<user>和<wireless interface> ):
[Unit]
Description=Disable wireless for user <user>
After=network-online.target
Wants=network-online.target
[Service]
Type=oneshot
ExecStart=/usr/sbin/iptables -A OUTPUT -o <wireless interface> -m owner --uid-owner <user> -j DROP
ExecStop=/usr/sbin/iptables -D OUTPUT -o <wireless interface> -m owner --uid-owner <user> -j DROP
RemainAfterExit=yes
[Install]
WantedBy=default.target将其命名为disable-wireless-<user>.service,然后运行sudo systemctl daemon-reload,然后运行sudo systemctl enable --now disable-wireless-<user>。
您可以通过ip link命令在系统上找到一个网络接口列表,该命令将显示如下所示:
$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether ??:??:??:??:??:?? brd ??:??:??:??:??:??
3: wlp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
link/ether ??:??:??:??:??:?? brd ??:??:??:??:??:??在这种情况下,wlp3s0将是无线接口。
https://askubuntu.com/questions/1328042
复制相似问题