Временное перенаправление PF на другой IP-адрес

У меня есть хост FreeBSD, который служит точкой входа в дополнительные системы во внутренней сети. Таким образом, у меня pf настроен для перенаправления входящего трафика на определенных портах (скажем, порт 5000) на локальный адрес хоста в одном из тюрем, на котором запущена сетевая служба на этом компьютере. Это выглядит так:

---port 5000--->[Main host]
                     |
                     |---port 5000--->[Machine A]
                     |~~~~~~~~~~~~~~~~[Machine B]

Перенаправление выполняется правилом PF:

rdr pass on egress proto tcp from any to $IP port 5000 -> $MACHINE_A_IP

Это состояние, которое я почти всегда хочу, и оно настроено по умолчанию. Тем не менее, я' Мне нравится иногда временно перенаправлять порт 5000 на машину B, например:

---port 5000--->[Main host]
                     |
                     |~~~~~~~~~~~~~~~~[Machine A]
                     |---port 5000--->[Machine B]

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

Как мне задать динамические правила PF на главном хосте для временного перенаправления 5000 с компьютера A на компьютер B?

1
задан 14 March 2017 в 19:07
1 ответ

Правильный способ добиться этого - использовать таблицу в качестве цели для перенаправления. Вы можете изменить содержимое таблицы без перезагрузки pf, используя pfctl . Просто имейте в виду, что существующие состояния брандмауэра будут продолжать пересылать трафик на старый хост до тех пор, пока потоки TCP не будут закрыты или пока не истечет время ожидания «потоков UDP».

2
ответ дан 3 December 2019 в 20:30

Теги

Похожие вопросы