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

Маршрутизация smtp и pop3 за iptables через прокси

следующая настройка:

Клиент (Outlook) <-----> | eth1 ПРОКСИ eth0 | <------> В сети

Как мне это удается? Установка для стандартной политики всех фильтровых таблиц значения ACCEPT ничего не меняет, так что предварительная маршрутизация - правильный путь?

Привет, Кай

Вы можете использовать для этого прокси-сервер SOCKS или iptables и NAT.

Я предполагаю, что ваш клиентский хост находится в локальной сети и использует частные IP-адреса, такие как 10.0.0.0/8, 172.28.0.0/12 или 192.168.0.0/16.

Предварительные условия:

  1. вы можете связаться со своим клиентским хостом из своего Linux-бокса
  2. вы можете выйти в Интернет из своего Linux-сервера

Первый шаг - включить переадресацию IP:

# set kernel flag to allow IP forwarding from one to another network device
echo 1 > /proc/sys/net/ipv4/ip_forward

Следующим шагом будет использование iptables для активации NAT:

# enable NAT for Internet device (here eth0)
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# accept incoming Internet traffic, which is related to established outgoing connection
iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

# enable forwarding from internal device eth1 to external device eth0
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Это действительно простая установка, и я рекомендую внимательнее изучить iptables, чтобы обеспечить безопасность вашей локальной сети, а также доступ вашей локальной сети к Интернету.

Чтобы ограничить доступ только к определенным протоколам (здесь SMTP, POP3, IMAP), вы можете использовать следующие настройки:

# enable NAT for Internet device (here eth0)
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# accept incoming Internet traffic, which is related to established outgoing connection
iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
# enable forwarding from internal device eth1 to external device eth0
iptables -A FORWARD -i eth1 --dport 25 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth1 --dport 110 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth1 --dport 143 -o eth0 -j ACCEPT