Назад | Перейти на главную страницу

Как перенаправить порт в Linux

Я хочу перенаправить весь почтовый трафик (порт localhost 25) на другой сервер для отправки почты. Что мне следует использовать: BIND, iptables или какой-нибудь другой инструмент? Как бы я это сделал?

Предполагая, что я понимаю ваш сценарий: вы хотите, чтобы весь трафик от внешних клиентов попадал на сервер 1 и немедленно перенаправлялся на сервер 2, но при этом на сервер 2 все еще казалось, что он исходит от клиентов, а не от сервера 1.

Во-первых, проверьте, включена ли переадресация IP в вашем Linux, и / или просто включите ее, используя sysctl:

sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 0

Затем вас ждет магия iptables, которая перенаправляет все пакеты на новый сервер:

iptables -t nat -D PREROUTING -p tcp –dport destination-port-goes-here -j DNAT –to-destination your.IP.goes.here

После выполнения вышеизложенного у вас должен быть перенаправлен весь трафик на новый сервер, но пакеты должны выглядеть как исходящие от клиентов, а не от сервера, который выполняет пересылку. Конечно, проверьте все это на себе, прежде чем внедрять.

"BIND" в вашем вопросе сбивает с толку :). Если вы пытаетесь предоставить веб-службу с одного сервера и почтовую службу с другого сервера, все, что вам нужно сделать, это указать запись A вашего домена почтового обменника на IP-адрес второго сервера (IP-адрес почтового сервера). Нет необходимости загружать первый сервер (веб-сервер) своим почтовым трафиком. Итак, все, что вам нужно сделать, это установить запись A для вашего домена MX (обычно mail.yourdomain.com) на соответствующий IP-адрес сервера (второй сервер).

- $

ферма - действительно удобный инструмент для управления этими правилами, если в конечном итоге их очень много.