Принудительное выполнение всех исходящих запросов на порт 80 через определенный интерфейс - PullRequest
0 голосов
/ 22 января 2019

Я искал ответ в течение нескольких дней, а те, которые размещены в сети, не работают. Это всего лишь упражнение, чтобы лучше понять, как работают iptables и маршрутизация

  • Сервер 1 - веб-сервер на 192.168.10.100:80
  • Сервер 2 - 2 сетевых карты 192.168.10.101 (ens33) и 192.168.10.102 (ens37)

Правила уже настроены, поэтому поток ARP отсутствует, и два сервера ping b / w проходят через правильные сетевые карты

Я хочу на сервере 2 - curl --interface ens37 192.168.10.100, но отправить его через ens33.

Мой сценарий -

  • iptables -t mangle -I ВЫХОД -s 192.168.10.102 -p tcp --dport 80 -j MARK - установленная отметка 99
  • iptables -t mangle -I OUTPUT -m mark --mark 99 -j LOG - уровень журнала emerg --log-prefix "mark = 99" (чтобы проверить работоспособность маркировки)
  • iptables -t nat -I POSTROUTING -s 192.168.10.102 -p tcp --dport 80 -j SNAT - к источнику 192.168.10.101
  • ip rule add fwmark 99 таблица 3 приоритет 77
  • ip route add 192.168.10.0/24 dev ens33 таблица 3
  • для поиска в / proc / sys / net / ipv4 / conf / * / rp_filter; do echo 0> $ f; сделал

ip rule show

  • 0: из всех мест поиска
  • 77: из всех поисков fwmark 0x63 3
  • 100: из 192.168.10.101 поиска 1
  • 200: из 192.168.10.102 поиска 2
  • 32766: из всех поисков главная
  • 32767: из всех поисков по умолчанию

ip route show

  • по умолчанию через 192.168.10.2 dev ens33 простатическая метрика 100
  • по умолчанию через 192.168.10.2 dev ens37 протостатическая метрика 101
  • 192.168.10.0 / 24 dev ens33 область видимости ядра протока src 192.168.10.101 метрика 100
  • 192.168.10.0 / 24 dev.
  • 192.168.122.0 / 24 dev virbr0 ссылка на ядро ​​протока src 192.168.122.1

ip route show tab 1

  • 192.168.10.0 / 24 dev ens33 scope link

вкладка ip route show 2

  • 192.168.10.0 / 24 dev ens37 scope link

вкладка ip route show 3

  • 192.168.10.0 / 24 dev ens33 scope link

Скручивание через ens37 не проходит через ens33.

Любая помощь будет принята с благодарностью

...