Есть сервер (SLACKWARE ядро 2.6.21.5) его предназначение работать с почтой (exim, popa3d) и раздавать инет в корпоративной сети через NAT (sbilling).
Когда-то (до появления сервера) у них завелся троян/вирус, который рассылал спам, в итоге их статический IP адрес был занесен в черные списки антиспам защит. Теперь на некоторых серверах письма с этого сервера блокируется.
Появилась идея выделить 2й статический интернет адрес, специально только для почтового трафика этого сервера. То есть корпоративные пользователи (ну и соответственно спам с их протрояненых компов) выходят в инет например с адреса 217.217.20.110, а почтовая часть сервера взаимодействует с инетом с адреса 217.217.30.110
Настройки выдаваемые провайдером:
1)Адрес=217.217.20.110
Маска сети=255.255.255.252
Шлюз=217.217.20.9
ДНС=217.217.1.1
2)Адрес=217.217.30.110
Маска сети=255.255.255.252
Шлюз=217.217.30.9
ДНС=217.217.1.1
Возникает вопрос, как это реализовать?
Дополнительная информация, которую надо учесть:
1)На сервере только 2 сетевы карты:
eth0 inet addr:217.217.20.110 Mask:255.255.255.252
eth1 inet addr:192.168.0.1 Mask:255.255.255.0
2)Правила файрвола
Код: Выделить всё
iptables -F INPUT
iptables -P INPUT DROP
iptables -A INPUT -i eth0 -s 217.217.0.0/25 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 53 -i eth0 -j ACCEPT
iptables -A INPUT -p tcp --sport 25 -i eth0 -j ACCEPT
#iptables -A INPUT -p udp -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A FORWARD -p tcp -m multiport --dport 137,138,139 -j DROP
iptables -A FORWARD -p udp -m multiport --dport 137,138,139 -j DROP3)Правила используемые sbilling
Код: Выделить всё
#!/bin/sh
case "$1" in
'start')
echo "Starting SBilling..."
/usr/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 --out-interface eth0 -j SNAT --to-source 217.217.20.110
/usr/sbin/iptables -I FORWARD 1 -j ULOG --ulog-nlgroup 1 --ulog-cprange 48 --ulog-qthreshold 50 --ulog-prefix "FORWARD"
/usr/sbin/ulog-acctd
;;
'stop')
/usr/sbin/killall ulog-acctd
;;
*)
echo "usage $0 start"
esacЯ понимаю, что нужно проделать следующее:
1)Прописать алиасом 2й адрес:
ifconfig eth0:0 217.217.30.100 netmask 255.255.255.240
2)В настройках Exim поменять IP c 217.217.20.100 на 217.217.30.100
local_interfaces = 217.217.30.110 : 192.168.0.1 : 127.0.0.1
3)Замена IP на ДНС сервере
Дальше столкнулся с проблемой 2х шлюзов в инет. Как разрулить трафик в инет, что бы вышеописанная схема работала.
Предполагаю, что с помощью правил IPTABLES это можно сделать, но как?