Skip to main content

Skrypt tworzący reguły przekierowania dla portów mailowych

Uruchamiamy na systemie proxy:

#!/bin/bash

# Sposób użycia: sudo ./mail_routing.sh <docelowy_adres_IP>
#
# Przykład: sudo ./mail_routing.sh 192.168.1.138
# Sprawdzenie, czy podano adres IP

if [ -z "$1" ]; then
    echo "Użycie: $0 <docelowy_adres_IP>"
    exit 1
fi

TARGET_IP="$1"

# Lista standardowych portów pocztowych
MAIL_PORTS=(25 465 587 143 993 110 995)

echo "Usuwanie poprzednich reguł..."
iptables -t nat -F PREROUTING
iptables -F FORWARD
iptables -t nat -F POSTROUTING

echo "Dodawanie nowych reguł przekierowania dla adresu: $TARGET_IP"

# Dodawanie reguł przekierowania dla każdego portu
for PORT in "${MAIL_PORTS[@]}"; do
    echo "Przekierowanie portu $PORT na $TARGET_IP:$PORT"
    iptables -t nat -A PREROUTING -p tcp --dport $PORT -j DNAT --to-destination $TARGET_IP:$PORT
    iptables -A FORWARD -p tcp --dport $PORT -d $TARGET_IP -j ACCEPT
    iptables -t nat -A POSTROUTING -p tcp -d $TARGET_IP --dport $PORT -j MASQUERADE
done

# Zapisywanie reguł, aby przetrwały restart systemu
echo "Zapisywanie reguł iptables..."
iptables-save > /etc/sysconfig/iptables 2>/dev/null || service iptables save 2>/dev/null

echo "Konfiguracja zakończona! Sprawdzenie reguł:"
iptables -t nat -L -v -n
iptables -L -v -n

Przykładowa część wyniku:

image.png