首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过以太网电缆的“管道”Wi信号

通过以太网电缆的“管道”Wi信号
EN

Unix & Linux用户
提问于 2016-02-12 18:42:09
回答 3查看 903关注 0票数 7

目前,我工作的大楼中的以太网端口已经关闭,但是Wi可以工作。我有一台支持with的笔记本电脑(Ubuntu 14.04 LTS (可信赖的Tahr))和一台非with支持的工作间(Debian 8 (杰西)),只有一个以太网插头。

是否有可能通过以太网电缆将两者连接起来,并在工作站上获得网络连接?

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2016-02-12 20:15:07

是的,你能做到的,而且也没那么难。我有一台带无线网卡的笔记本电脑和一个以太网端口。我通过“交叉”以太网电缆将运行Arch的RapberryPi插入其中。这是你可能需要的一件特别的事情--不是所有的以太网卡都能实现机器对机器的直接连接。

另一个棘手的部分是IP地址。最好说明一下这一点。这是我的小布景剧本。同样,enp9s0是笔记本电脑的以太网端口,wlp12s0是笔记本电脑的无线设备。

代码语言:javascript
复制
#!/bin/bash
/usr/bin/ip link set dev enp9s0 up
/usr/bin/ip addr add 172.16.1.1/24 dev enp9s0
sleep 10

modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE
iptables -A FORWARD -o enp9s0 -i wlp12s0 -s 172.16.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

dhcpd -cf /etc/dhcpd.enp9s0.conf enp9s0

脚本为以太网卡( 172.16.1.1 )设置一个静态IP地址,然后通过加载内核模块来设置NAT。它打开IP路由(在笔记本电脑上),然后做一些iptables半魔法,从无线网卡获得数据包从以太网,反之亦然。

我让dhcpd在以太网端口上运行以分配IP地址,因为这正是Raspberry想要的,但是您可以在工作站上做一个静态地址,以及静态路由、DNS服务器和NTP服务器。

文件/etc/dhcpd.enp9s0.conf看起来如下所示,以防您沿着这条路线走下去:

代码语言:javascript
复制
option domain-name "subnet";
option domain-name-servers 10.0.0.3;
option routers 172.16.1.1;
option ntp-servers 10.0.0.3;
default-lease-time 14440;
ddns-update-style none;
deny bootp;
shared-network intranet {
        subnet 172.16.1.0 netmask 255.255.255.0 {
                option subnet-mask 255.255.255.0;
                pool { range 172.16.1.50 172.16.1.200; }
        }
}

IP地址的选择是非常关键的。我用172.16.1.0/24作为从笔记本电脑出来的以太网电缆。笔记本电脑上的无线网卡以192.161.1.0/24收尾。您需要查看膝上型计算机的无线IP地址,并为以太网卡选择其他子网。此外,您需要选择一个"bogon“或”不可路由“网络。在我的示例中,172.16.1.0/24来自于官方的不可路由的IP地址范围,192.168.1.0/24也是如此,dhcpd.enp9s0.conf为DNS服务器和NTP服务器提供的10.0.0.3地址也是如此。你必须用你的头脑来确定什么是适合你的设置。

票数 9
EN

Unix & Linux用户

发布于 2016-02-12 18:58:46

有可能吗?绝对一点儿没错。您所需要做的就是配置IP转发,或者路由,或者其他一些(简单的)方式将数据包从笔记本上的以太网端口转移到笔记本上的WiFi,反之亦然。是个好主意吗?也许不会-你的网络管理员可能会对你有点不满。

票数 0
EN

Unix & Linux用户

发布于 2018-03-22 18:50:02

根据维基百科,如果其中一个以太网端口是千兆位,普通电缆将工作,不需要交叉,我有千兆位两边和普通电缆工作。

这个问题是在2016年提出的,所以我假设网络管理器在两台Linux机器上运行,你可以使用它的GUI来设置ip-s,如果不是,你可能会做定制设置,并且知道如何从命令提示符设置ip,所以我省略了这些细节。

连接电缆后,您将在GUI中获得与膝上型计算机和工作站上的以太网相关的网络接口名称。

假设您不关心定期将工作站(和/或通过以太网连接膝上型计算机)连接到其他网络设备,则可以为以太网接口在这两种设备上设置静态IP。

设置您的静态IP与wi不同的子网,例如,如果wi为192.168.1.0/16,设置为192.168.2.1和192.168.2.2,则子网掩码为255.255.255.0,因为最后的“IP数”不同,工作站上的DNS应设置为与膝上的wi相同的DNS IP,以便能够在工作站上使用DNS (开放站点,而不仅仅是IP)。

您需要在笔记本电脑上启用IP转发:

代码语言:javascript
复制
sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'

因为很可能你笔记本电脑上的网络管理器认为以太网的质量比wi好,它会在默认情况下尝试将所有的东西发送到它,并且在设置以太网之后,您将松掉互联网。为了回到使用wi,在笔记本电脑上,您需要在与以太网连接有关的文件的ipv4部分(您在以太网的网络管理器图形用户界面中看到的名称)在/etc/NetworkManager/添加行的位置。

代码语言:javascript
复制
never-default=true

(如果您的GUI有类似于“仅用于此连接上的资源”的复选框用于以太网-在我的ip4部分的连接属性中,您可以使用它)。

最后,假设您的IP表规则在默认情况下仍然接受所有内容,则工作站上的数据包将进入internet,但在通过一个命令在膝上型计算机上设置NAT规则(其中eth0应该是您的will连接的名称时,您可以通过sudo ifconfig查找名称),才能返回到膝上型计算机:

代码语言:javascript
复制
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

如果在此之后无法工作,请尝试重新启动网络管理器:

代码语言:javascript
复制
sudo service network-manager restart

你应该准备好了。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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