У меня на сервере 3 интерфейса,
- первый используется для локальной сети,
- второй и третий — это интернет-подключения (каждое имеет свою собственную таблицу маршрутизации IP).
Как заставить серверные демоны и инструменты командной строки использовать первый интерфейс для создания исходящих соединений. Я хочу использовать те же правила iptables nat и filter для моего сервера, которые я использую для других машин моей сети.
eth0 192.168.0.1
eth1 9.9.9.9
eth2 9.9.9.10
Я не знаю, почему теперь для исходящих соединений используется eth1.
решение1
Если вы бежите
ip route
Это даст вам результаты, похожие на следующие:
default via 192.168.0.10 dev eth0 metric 2
127.0.0.0/8 via 127.0.0.1 dev lo
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.106 metric 2
Как видно из вышеприведенного вывода, любой трафик, проходящий по маршруту по умолчанию, будет проходить через eth0.
Похоже, вам нужно сделать что-то вроде этого:
ip route delete default via <ip> dev eth1
затем
ip route add default via <ip> dev eth0
Способ сделать это изменение постоянным будет зависеть от вашего дистрибутива.