2 подключенных устройства - проблема перенаправления портов
Это немного сбивает с толку, но я постараюсь.
У меня есть Raspberry Pi с запущенным сервером Apache - переадресация портов работает, и она работает нормально, я могу получить доступ с моего рабочего стола на http://192.168.0.11/ и извне на external_ip:80
Теперь проблема возникает здесь... У меня есть USB-сим-ключ (huawei e303), с которого я отправляю SMS, и это работает. Это даже работает, когда я запускаю ip внутри на http://192.168.0.11/ со своего рабочего стола. Однако переадресация портов не работает, как только USB-ключ подключен.
Он не использует мобильную широкополосную связь, но у ключа есть собственный IP-адрес http://192.168.1.1/.
Итак, кажется, что существует какой-то конфликт - как мне обойти это и снова разрешить переадресацию моего порта?
Таблица маршрутизации:
pi@raspberrypi:~ $ ip -4 route
default via 192.168.1.1 dev eth1
default via 192.168.0.1 dev eth0 metric 202
default via 192.168.1.1 dev eth1 metric 203
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.11 metric 202
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.100 metric 203
2 ответа
Проблема в том, что на ключе есть dhcp-сервер, который вместо вашей сети передает маршрут через ключ.
Быстрое исправление командной строки для этого заключается в запуске команды
sudo ip route del default via 192.168.1.1 dev eth1
Это не решает проблему навсегда. Долгосрочное исправление - либо отключить сервер dhcp на ключе, либо изменить конфигурацию на хосте.
Пример того, как изменить конфигурацию, приведен в этом сообщении о сбое сервера: https://serverfault.com/questions/527383/change-default-route-to-dhcp-interface-without-a-route-push
Создайте еще одно правило в iptable с параметром -i eth1. Таким образом, правило будет применимо для интерфейса eth1.