Редирект(проброс) портов с одного сервера на другой

Иногда требуется пробросить несколько портов с одного сервера на другой (например, при переезде сайтов во время ожидания смены ДНС)
Все уже описано — переписано, разжевано в интернете, но все равно — возникают вопросы по проблеме. Для проброски портов рекомендую элементарный скрипт в 3 строчки, который пробросит порты с текущего сервера на другой IP

Вот скрипт:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
 
DEST_IP="109.60.195.195"
PORTS="80 443"
 
# iptables -F -t nat
# iptables -X -t nat
 
for i in $PORTS; do
        iptables -t nat -A PREROUTING -p tcp --dport $i -j DNAT --to-destination $DEST_IP:$i
done
 
sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -j MASQUERADE

Замечания по нему:
В DEST_IP указываем IP назначения, то есть — туда будет проброшены порты, указанные через пробел в PORTS
Если требуется перезапуск скрипта — раскомментируйте строки # iptables -F -t nat и # iptables -X -t nat

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *