如何让 Ubuntu 通过 Wire 共享特定接口?

如何让 Ubuntu 通过 Wire 共享特定接口?

我通过 Wire 与其他设备共享互联网单击网络图标 > 编辑连接 > 共享到其他计算机。但是,问题是当我共享我的 VPN 连接时,该 VPN 连接由于某种原因断开/失败;Ubuntu 不断与其他人共享我的互联网(无线连接)!

如何让 Ubuntu 坚持使用 vpn 接口,一旦掉线,其他设备就无法上网?

答案1

我正在考虑使用网络管理器为您的有线连接设置两个配置文件来做您想做的事情的一种方法:

  1. 个人资料 wire_shared
  2. 配置文件 wire_not_shared

然后运行一些触发器,根据 VPN 状态在两个配置文件之间切换连接。您可以使用 cron 作业和简单脚本,例如

但更详细的答案需要您更详细的输入:)。

答案2

我刚刚发现了:

  1. 不要共享您的互联网,而是设置有线连接获取手动 IP。

  2. 为有线连接提供本地 IP,例如“10.42.0.1/255.255.255.0”

  3. 在终端中应用这些 iptables 规则:

    sudo apt-get 安装 linux-image-$(uname -r)

    sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward

    sudo iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

    sudo iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED \

    -j 接受

    sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

  4. 在其他设备端,设置手动 iP,例如“10.42.0.15/255.255.255.0/10.42.0.1”

完成。一次eth1(或任何您的目标接口)断开连接,所有其他设备都无法上网。

相关内容