我正在尝试弄清楚网络是如何构建的,并创建了一个用于练习的微型网络。结构如下:
我想做的事:
- 启用主机和 Raspberry Pi 之间的以太网连接,以便进一步使用 ssh
- 将外部 Wi-Fi 连接桥接起来以进行切换并进一步与 PRi 一起使用(用于更新等)
我正在做什么
在主机上安装 Fedora 服务器后,我启用了 ssh:
sudo dnf install openssh-server
sudo systemctl enable sshd.service
sudo systemctl start sshd.service
reboot
之后,我可以从本地网络毫无问题地连接到它。接下来,我刷入最新的Raspbian Stretch Lite图像到几台 Raspberry Pi 电脑的 SD 卡上,启用 ssh在每个上面。
然后我连接开关(尝试了这两个开关:LinkSys SD205和LinkSys BEFSR41) 用以太网电缆连接到主服务器和树莓派。运行ifconfig
终端显示,计算机可以看到外部连接(WiFi),但看不到以太网连接,因为它没有为以太网端口分配 IP 地址。
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether __:__:__:__:__:__ txqueuelen 1000 (Ethernet)
RX packets 589 bytes 42571 (41.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 59 bytes 9982 (9.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 21 memory 0xf7ae0000-f7b00000
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet aaa.bbb.ccc.ddd netmask 255.255.255.0 broadcast aaa.bbb.ccc.255
inet6 ____::____:____:___:____ prefixlen 64 scopeid 0x20<link>
ether __:__:__:__:__:__ txqueuelen 1000 (Ethernet)
RX packets 2044 bytes 1590715 (1.5 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2067 bytes 1557997 (1.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
搜索显示我需要为主机上的以太网提供静态 IP 才能使其工作(假设我想要静态 IP 192.168.10.1):
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
在此处编辑或添加以下行:
DEVICE="eth0"
BOOTPROTO=static
ONBOOT="yes"
IPADDR=192.168.10.1
NETMASK=255.255.255.0
GATEWAY=192.168.10.1
在那之后:
sudo systemctl restart NetworkManager.service
之后,它看到连接并分配 IP 地址:
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.1 netmask 255.255.255.0 broadcast 192.168.10.255
但是,当我尝试扫描它时,我看不到任何连接到交换机的设备:
nmap -sP 192.168.10.1/24
其结果是:
Starting Nmap 7.70 ( https://nmap.org ) at 2019-04-11 17:20 EDT
Nmap scan report for 192.168.10.1
Host is up (0.00049s latency).
Nmap done: 256 IP addresses (1 host up) scanned in 2.51 seconds
此外,此修改会在重启后切断我的无线连接。此时出了什么问题以及如何修复?
PS 还尝试了选项:
sudo ifconfig eth0 192.168.10.1
sudo ifconfig eth0 netmask 255.255.255.0
也没有用
更新 1修复网络发现
由于某种原因,通过编辑 Raspberry Pi 分配 IP/boot/cmdline.txt
不起作用。当我重新刷新新的 Raspbian 并/etc/dhcpcd.conf
通过添加几行进行编辑时,IP 分配起作用了:
interface eth0
static ip_address=192.168.10.xx/24
static ip_routers=192.168.10.1
static ip_domain_name_servers=192.168.10.1
其中ip_routers
和ip_domain_name_servers
是主服务器以太网卡的分配IP地址。