pdsh и код выхода команды

Это интересная задачка. Обычно для перезаписи адресов используется таблица NAT PREROUTING, но здесь это не сработает. Вы не можете использовать DNATв таблице PREROUTING, потому что трафик не поступает на исходный веб-сервер, а DNATне разрешен в POSTROUTING. Вместо этого это один из редких случаев, когда DNATследует поместить в цепочку OUTPUT(, хотя и в таблицу NAT ).

iptables -t nat -I OUTPUT -o eth0 --dst 192.168.4.23 -j DNAT --to 192.168.4.28

Это берет все выходные заголовки через интерфейс eth0(, который вам, возможно, потребуется настроить для вашей среды CentOS ), предназначенный для 192.168.4.23, и перезаписывает для перехода на 192.168.4.28. Номера портов должны оставаться без изменений. Возвращаемые пакеты должны быть автоматически перезаписаны, если в вашем ядре есть модуль conntrack.

Чтобы получить список iptablesправил, вам нужно запустить пять отдельных команд (существует пять наборов правил ), но на практике в основном первых двух достаточно для правил, которыми вы будете управлять.

iptables -nvL                # Blocking and permitting packets ("-t filter")
iptables -t nat -nvL         # Rewriting packets, eg different destinations
iptables -t mangle -nvL      # Not used so often
iptables -t raw -nvL         # Used rarely
iptables -t security -nvL    # SELinux

Чтобы удалить правило, вы можете повторить его, изменив-I(вставить )или-A(добавить )вместо-D(удалить ).

Существует множество руководств по iptables. Вы можете обнаружить, что, поскольку вы используете CentOS, вам стоит изучить инструмент брандмауэра более высокого -уровня firewalld(, см. man firewalldдля отправной точки, и, конечно же, множество Google -fu ).

3
12.10.2021, 15:36
0 ответов

Теги

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