如何共享两个接口之间的连接

如何共享两个接口之间的连接

好吧,要么我看起来比较笨,要么这里确实有问题。

Fedora 23
接口 1:enp9s0 192.168.1.137 255.255.255.0 有线(互联网连接)
接口 2:wlp0s20u14 192.168.10.1 255.255.255.128 无线(无互联网连接)

这是我正在尝试做的事情:

在接口 2 上创建无线热点,然后让任何连接的人都可以通过连接到互联网的接口 1 访问互联网。

到目前为止我尝试过的事情清单长得可笑。尝试从firewalld切换到iptables,遵循网上的大量指南但无济于事。

谁能帮我共享从接口 1 到接口 2 的连接以及连接到接口 2 的所有设备吗?

创建一个热点接缝工作,我让 dhcpd 服务器在接口 2 上运行,设备获得 IP 地址,但它们无法访问互联网。

有人可以帮我吗?我在这里没有选择了。如果可能的话,我想坚持使用firewalld,因为一些虚拟机正在运行,但如果没有,我会很乐意接受我能得到的东西,iptables 会做得很好。

答案1

这是一个应该对你们中的一些人有用的解决方案。只需 6 条线路即可与您创建的 WiFi 网络共享互联网。

简单地桥接两个接口,安装并使用该包bridge-utils

apt-get install bridge-utils

那么你可以使用brctl

brctl addbr foo
brctl addif enp9s0
brctl addif wlp0s20u14

在哪里

foo :为这个新桥接接口指定的名称

anp9s0 :您可以访问互联网的接口

wlp0s20u14 :运行 WiFi 热点的界面

然后以这种方式启动你的界面

ifconfig enp9s0 0.0.0.0 up
ifconfig wlp0s20u14 0.0.0.0 up
ifconfig foo up

缺点是您将无法访问互联网。我在虚拟机上使用该方法

创建您自己的 WiFi 热点, 您可以使用airbase-ng

airbase-ng --esssid MyWiFi wlan0

在哪里

--essid :设置参数以定义您自己的 essid。 (默认为“default”) wlan0 :要使用的无线接口

然后,这将在新接口 (at0) 上创建 WiFi 热点。然后你可以像我说的那样桥接该接口。

答案2

当你的机器作为热点工作并且 dhcpd 工作时,你只需要作为路由器工作 - 我的建议是尝试找到一个指南来设置你用作路由器的 Fedora 版本。

它基本上可以归结为:

  1. 启用IP转发
  2. 设置路由
  3. 设置伪装
  4. 允许您使用的任何防火墙中的流量。

我从来没有使用过Fedora或firewalld,所以我不知道在你的设置中执行此操作的好方法是什么,但是启用IP转发只是echo 1 > /proc/sys/net/ipv4/ip_forward,如果互联网访问在fedora盒子上工作,路由可能是正确的,伪装是一些东西就像iptables -t nat -A POSTROUTING -s wlp0s20u14 -j MASQUERADE,对于防火墙,你想要确保你想要/不想要的流量类型在FORWARDnetfilter 链中被允许/阻止(内核中完成工作的框架,iptables只是一个前端,我无法想象firewalld 是其他任何东西)。

相关内容