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: