Iproute

無法到達整個子網

  • November 12, 2020

我希望有一個人可以幫助我。我遇到的這個伺服器問題讓我發瘋!

所以我有以下配置:

                                                     INTERNET
                                                        |
                                              +----------------------+
                                              | MODEM/ROUTER         |
                            +-----------------+----------------------+
                            |                 | IP: 192.168.2.254/24 |
                +----------------------+      +----------------------+
                | WIFI HOME-NETWORK    |                |
                +----------------------+                |
                | WLAN: 192.168.2.*/24 |                |
                +----------------------+                |
                                                        |
+-----------------------+                    +------------------------+
| HUAWEI SOLAR INVERTER |                    | HOME AUTOMATION SERVER |
+-----------------------+                    +------------------------+
| MODEL: 6KTL-M0        |                    |           UBUNTU 16.04 |
| IP: 192.168.8.1/24    |                    |                 ENP1S0 |
| WLAN: 192.168.8.*/24  |                    |    IP: 192.168.2.49/24 |
|          +--------------------------------------------+             |
+----------| SOLAR SERVER                               |-------------+
          +----------------------+---------------------+
          | WLAN0                |                ETH0 |
          | IP: 192.168.8.100/24 | IP: 192.168.2.35/24 |
          |                      |        SSH listener |
          +----------------------+---------------------+

而且我遇到了這個問題,無論我嘗試更改路由,我都無法從 192.168.2.49(家庭自動化伺服器)ping 到華為太陽能逆變器的 IP。但是,在同一個輔助子網中,我可以訪問 SOLAR SERVER (RPI) 的 WLAN0 IP。

我使用以下命令在 SOLAR SERVER 上添加了 NAT。

solar-server:~ $sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
solar-server:~ $sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j  ACCEPT
solar-server:~ $sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT

我已將這些 iptables 更改添加到我的 /etc/network/interfaces 中,因此它在重新啟動時也是可持續的。

由於我不是網路專家,所以我堅持這一點。我嘗試了所有我發現的類似案例,但似乎沒有一個適合我的情況。有沒有人可以給我一些線索或幫助?

下面提到我總結了這件事的ping結果。

+---------------------------------------+
| PING RESULTS                          |
+--------------+---------------+--------+
| FROM         | TO            | RESULT |
+--------------+---------------+--------+
| 192.168.2.49 | 192.168.2.35  | SUCCES |
| 192.168.2.49 | 192.168.8.1   | FAIL   | <--MAIN ISSUE!
| 192.168.2.49 | 192.168.8.100 | SUCCES |
| 192.168.2.35 | 192.168.2.49  | SUCCES |
| 192.168.2.35 | 192.168.2.254 | SUCCES |
| 192.168.2.35 | 192.168.8.1   | SUCCES |
| 192.168.2.35 | 192.168.8.100 | SUCCES |
+--------------+---------------+--------+

我複制了兩台伺服器的ip路由。

home-automation-server:~ $ ip route
default via 192.168.2.254 dev enp1s0
192.168.2.0/24 dev enp1s0  proto kernel  scope link  src 192.168.2.49
192.168.8.0/24 via 192.168.2.35 dev enp1s0  proto static  src 192.168.2.49
192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1 linkdown

solar-server:~ $ ip route
default via 192.168.2.254 dev eth0 proto dhcp src 192.168.2.35 metric 202
192.168.2.0/24 dev eth0 proto dhcp scope link src 192.168.2.35 metric 202
192.168.8.0/24 dev wlan0 proto dhcp scope link src 192.168.8.100 metric 303 mtu 1500

通過添加 ’ up route add -net 192.168.8.0/24 gw 1​​92.168.2.35 dev enp1s0’ 到 /etc/network/interfaces’ 解決了這個問題,感謝您的時間,理解並給我學習添加靜態路由的方向。那成功了!

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