У меня есть Сервер с (66.66.66.66) (конечно, не реальный IP), и у моей домашней сети тоже есть публичный IP (202.202.122.123).
После того, как я подключаюсь к серверу с маршрутизатора (172.22.34.1), используя VPN (технически OpenVPN, это не имеет значения) для прокси,
Затем у меня есть основная таблица маршрутов, например:
202.202.122.1 dev ppp0 proto kernel scope link
172.22.34.0/24 dev br0 proto kernel scope link src 172.22.34.1
10.12.12.0/24 dev tap11 proto kernel scope link src 10.12.12.2
default via 202.202.122.1 dev ppp0
и таблицу маршрутов ov1, например:
172.22.34.0/24 dev br0 scope link
66.66.66.66/32 via 202.202.122.1 dev ppp0
0.0.0.0/1 via 10.12.12.1 dev tap11
128.0.0.0/1 via 10.12.12.1 dev tap11
и правило ip следующим образом (я делаю это для управления тем, кто может использовать VPN-туннель):
0: from all lookup local
32764: from 172.22.34.101 lookup ov1
32765: from 172.22.34.44 lookup ov1
32766: from all lookup main
32767: from all lookup default
Сервер с IP 66.66.66.66 может просматривать веб-сайт HTTPS, размещенный дома (202.202.122.123:443 DNAT до 172.22.34.44:443), но другие нет (Мой телефон, средство проверки онлайн-порта и т.д.).
Затем я отслеживал пакеты с помощью tshark(wireshark CLI) на 172.22.34.44, даже при входе в Интернет с моего телефона (с использованием сотовой сети) нет даже входящего трафика, но после ТОЛЬКО мне нужно вручную добавить IP-адрес телефона в таблицу маршрутов ov1 как сервер (ip route add PHONEIP dev ppp0 table ov1
), то работает нормально.
То, что меня смущает, так это то, что, как я знаю, в таблице маршрутов указано "Назначение", а не "Источник":
Kernel IP routing table
Назначение ....Gateway Genmask Flags Metric Ref Use Iface
202.202.122.1 * 255.255.255.255 UH 0 0 0 ppp0
172.22.34.0 * 255.255.255.0 U 0 0 0 br0
10.12.12.0 * 255.255.255.0 U 0 0 0 tap11
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 202.202.122.1 0.0.0.0 UG 0 0 0 ppp0
который должен влиять только на исходящий трафик, я не ожидал, что входящий трафик исчезнет.
Где не так?
PS.1 Когда del 172.22.34.44 из правила ip, чтобы заставить его использовать основную таблицу маршрутов, он тоже работает нормально.
PS.2.1 ip route add 0.0.0.0/0 dev ppp0 table ov1
имеет никакого эффекта, что
PS.2.2 ip route add PHONEIP dev ppp0 table ov1
оказывает влияние (упоминалось ранее)
PS.3 Какие-либо документы рекомендовать?