У меня есть небольшой встроенный компьютер, на котором запущен busybox. Он имеет проводной интерфейс eth0, который подключен к проводному интерфейсу встроенного wlan-модуля с помощью кабеля. Также есть модуль 3G на ppp0.

Мне нужно направить трафик с 192.168.2.1 (localhost) до 192.168.2.10 (wlan-module) через eth0, а все остальное должно пройти через ppp0.

Текущие настройки:

# ip rule
0:      from all lookup local
1000:   from 84.231.196.14 lookup mobile
32766:  from all lookup main
32767:  from all lookup default

# ip route show table mobile
default via 192.168.254.254 dev ppp0

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.2.10    0.0.0.0         UG    0      0        0 eth0
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.254.254 0.0.0.0         255.255.255.255 UH    0      0        0 ppp0

Это работает частично. Я могу подключиться к 192.168.2.10 из 192.168.2.1, и я могу подключиться к этому компьютеру снаружи через ppp0, но я не могу устанавливать какие-либо подключения с этого компьютера снаружи, используя ppp0.

Я пытался добавить

# ip rule add from all lookup mobile
# ip route flush table cache
# ip rule
0:      from all lookup local
999:    from all lookup mobile
1000:   from 84.231.196.16 lookup mobile
32766:  from all lookup main
32767:  from all lookup default

Это, конечно, будет направлять весь трафик через ppp0, но я теряю соединение с 192.168.2.10

Я пробовал несколько разных правил и маршрутов, чтобы сделать эту работу, но мне не повезло с этим. Какое правило / маршрут я должен сделать?

  • IP-правило, IP-маршрут и маршрут доступны

1 ответ1

1

Я вижу, что ваш маршрут по умолчанию указывает на eth0, вам нужно будет вместо этого указать маршрут по умолчанию на ppp0. Удалите маршрут по умолчанию и попробуйте "ip route add default dev ppp0".

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .