解释1

解释1

我正在尝试通过以太网电缆通过以太网适配器连接 TCP/IP 设备。在网络管理器中可以看到连接,我至少可以得到 ping 命令的输出,但无法访问设备的内置网页。我收到 telnet 命令错误“连接被拒绝”。但是,这个问题在非linux 的其他操作系统中不会出现。所以,我想我应该更改 iptables、防火墙或代理设置。如何通过设备默认开放的端口8003连接设备网页和设备本身?感谢您今后的帮助。

几个输出:(*s是我添加的。)

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    inet 169.254.227.2/16 brd 169.254.255.255 scope link noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 ****:****:****:****:****/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    inet 80.***.**.***/23 brd 80.***.**.255 scope global dynamic noprefixroute wlan0
       valid_lft 1626sec preferred_lft 1626sec
    inet6 ****:****:****:****:****/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever


$ ping 169.254.227.2
PING 169.254.227.2 (169.254.227.2) 56(84) bytes of data.
64 bytes from 169.254.227.2: icmp_seq=1 ttl=64 time=0.065 ms
64 bytes from 169.254.227.2: icmp_seq=2 ttl=64 time=0.079 ms
64 bytes from 169.254.227.2: icmp_seq=3 ttl=64 time=0.083 ms
64 bytes from 169.254.227.2: icmp_seq=4 ttl=64 time=0.079 ms
64 bytes from 169.254.227.2: icmp_seq=5 ttl=64 time=0.095 ms
64 bytes from 169.254.227.2: icmp_seq=6 ttl=64 time=0.081 ms
^C
--- 169.254.227.2 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 103ms
rtt min/avg/max/mdev = 0.065/0.080/0.095/0.011 ms


$ telnet 169.254.227.2 8003
Trying 169.254.227.2...
telnet: Unable to connect to remote host: Connection refused

还有一些额外的信息。我可以在其面板上手动配置设备的 IP 地址(默认 169.254.227.2),其 MAC 地址为 00:19:F9:18:02:E2。

为了能够设备,我在网络管理器上配置以太网连接,其中包含信息(此信息包含在设备手册中): - 方法:手动 - 地址:169.254.227.2 - 网络掩码:255.255.0.0 - 网关: 0.0.0.0 - DNS:0.0.0.0 但MAC地址是:::::属于 eth0 我无法改变这种情况。

实际上,我尝试使用 DHCP 但失败了。您能否建议我如何配置 dhcpd.conf 文件和网络连接。最后,我附上了最后的输出。

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    inet 169.254.227.2/16 brd 169.254.255.255 scope link noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 ****:****:****:****:****/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether **:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    inet 80.***.**.***/23 brd 80.***.**.255 scope global dynamic noprefixroute wlan0
       valid_lft 1277sec preferred_lft 1277sec
    inet6 ****:****:****:****:****/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever



$ less /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp



$ less /etc/dhcp/dhcpd.conf
default-lease-time 600;
max-lease-time 7200;
authoritative;
 
subnet 192.168.1.1  netmask 255.255.0.0 {
 range 192.168.1.100 192.168.1.200;
 option routers 192.168.1.254;
 option domain-name-servers 192.168.1.1, 192.168.1.2;
#option domain-name "mydomain.example";
}

host archmachine {
hardware ethernet 00:19:F9:18:02:E2;
fixed-address 192.168.1.20;
}

答案1

您正在使用Linux终端,其地址是“169.254.227.2”。您的电源不能具有相同的地址。在 Linux 终端上,端口 8003 上的任何程序都没有运行,因此无法 telnet 到该端口是正常的。

解释1

也许,由于 169.254 位于 APIPA 范围内,因此该网络上存在 DHCP 问题。当您在 Linux 中启动时,您会得到该地址,但是当您在 Windows 中启动时,地址会有所不同,并且 169.254.227.2 被分配给电源,并且这就是为什么您可以从 Windows 访问它。这些地址可能会不断变化。

解决方案:理顺网络的网络配置,如果可能的话,远离 APIPA 范围并使用 192.168.0.0/16 代替,甚至可以静态分配。

解释2

您使用的 IP 地址与主机的 IP 地址相同。这意味着有应该是一个监听端口 8003 的守护进程,在 Windows 中有,但在 Linux 中没有。如果您没有安装必要的软件,这也是正常的。

解决方案:安装应该侦听端口 8003 的任何守护程序,假设您的 Linux 发行版中存在此类软件。无论如何,我都会修复网络配置,即使在这种情况下并不重要,因为在 APIPA 范围内拥有设备意味着自找麻烦,而根据我的经验,麻烦总是急于遵守。

更新

恐怕我还没有完全理解这个东西的软件角度。但是,如果您可以在 Windows 中启动并且,无需在 Windows 上安装任何东西,使用浏览器连接到 WHATEVERPOWERSUPPLYADDRESS:8003,那么你可以在 Linux 中执行此操作

如果上述情况成立(如果您需要在 Windows 上安装某些东西,那么您就不走运了 - 您需要兼容的 Linux 软件,并且需要向硬件制造商询问),那么我会这样做:

  • 重新编程路由器以提供固定网络配置,如 192.168.1.0/24,路由器位于 192.168.1.1。
  • 在 Windows 和 Linux 中,将笔记本电脑/计算机的网络地址设置为 192.168.1.2。
  • 在电源与网络断开的情况下验证其是否正常工作。您必须能够正常浏览互联网。
  • 将电源编程到 IP 地址 192.168.1.3 。
  • 现在,您应该能够将浏览器连接到两个操作系统中的电源。
  • 您可以将 192.168.1.10-192.168.1.254 的 DHCP 范围添加到路由器,以处理不需要静态 IP 地址的其他设备。

相关内容