Iproute

在沒有網關的情況下訪問不同子網的 IP 地址

  • December 27, 2018

我有一個USR-TCP232-S2 IP 到串列轉換器,我想通過乙太網訪問它來設置它。

模組自帶固定 IP 地址 192.168.0.7。

但是,我的 PC(Lubuntu 18.04)位於不同的子網(192.168.1.0/24,IP 地址 192.168.1.80,網關 192.168.1.235),所以我無法直接與模組通話。

如果我向我的介面添加第二個 IP 地址,我希望能夠訪問該模組:

ip addr add 192.168.0.6/24 dev enp2s0

但這沒有用,我得到了:

root@lbox0:~# telnet 192.168.0.7 80
Trying 192.168.0.7...
telnet: Unable to connect to remote host: No route to host

我想我可能必須設置一條路線,使用ip route, 才能到達我的模組。但是我找不到任何只涉及 IP 地址的東西,而無需使用網關。

ip addr和的輸出ip route

root@lbox0:~# ip addr show dev enp2s0
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
   link/ether 50:e5:49:84:2b:4c brd ff:ff:ff:ff:ff:ff
   inet 192.168.1.80/24 brd 192.168.1.255 scope global dynamic noprefixroute enp2s0
      valid_lft 686535sec preferred_lft 686535sec
   inet 192.168.0.6/24 scope global enp2s0
      valid_lft forever preferred_lft forever
   inet6 fe80::c553:9525:6f96:5b5b/64 scope link noprefixroute
      valid_lft forever preferred_lft forever
root@lbox0:~# ip route
default via 192.168.1.235 dev enp2s0 proto dhcp metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
192.168.0.0/24 dev enp2s0 proto kernel scope link src 192.168.0.6
192.168.1.0/24 dev enp2s0 proto kernel scope link src 192.168.1.80 metric 100

事實證明,該模組在出廠時配置為DHCP而不是Static IP.

當我執行nmap -p80 192.168.1.*時,它發現模組的 IP 地址為 192.168.1.11。

然後我可以將其更改為Static IP,IP 地址為 192.168.0.7。

然後我無法再通過 IP 地址 192.168.1.11 和 IP 地址 192.168.0.7 訪問模組。

進入後ip addr add 192.168.0.6/24 dev enp2s0,我可以訪問IP地址為192.168.0.7的模組。

這證明在另一個子網中為您的 NIC 提供一個額外的 IP 地址就足以訪問該子網中的主機。

引用自:https://unix.stackexchange.com/questions/491210