Я пытаюсь запустить серверную программу на своем локальном компьютере. Имеет 2 маршрута в интернет:
10.0.0.1/24
наeth0
- это шлюз и подсеть на интерфейсе с самым быстрым соединением; однако брандмауэр не позволяет мне получить доступ к любым серверам, связанным с портами TCP.10.8.0.1/24
наeth1
- это шлюз и подсеть на более медленном интерфейсе; тем не менее, я управляю устройством шлюза и могу успешно перенести порт через него, и сервер виден в Интернете.
На моей машине у меня есть следующие маршруты:
default via 10.0.0.1 dev eth0 src 10.0.0.x metric 203
default via 10.8.0.1 dev eth1 metric 800
10.8.0.0/24 dev eth1 proto kernel scope link src 10.8.0.y
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.x metric 203
Очевидно, что маршрут через eth0
будет иметь приоритет в обычных условиях; однако для перенаправления моего сервера необходимо использовать шлюз по умолчанию на интерфейсе eth1
без перенаправления всего остального трафика через тот же интерфейс.
До сих пор я пытался связать сервер с адресом 10.8.0.y
что означает, что он будет принимать только те соединения, назначение которых - этот IP-адрес. Тем не менее, он не работал для маршрутизации трафика в обратном направлении. С помощью tcpdump -i eth1 -p 25561
я проверил, что входящие соединения принимаются, но при мониторинге eth0
и eth1
я не вижу исходящего ответа. После этого на удаленном клиенте истечет время ожидания ответа.
Кто-нибудь еще пытался сделать что-то подобное и может дать некоторое представление о том, как мне нужно это настроить?