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

Запуск почтового сервера на VPN-клиенте, чтобы трафик проходил через smtp, pop3, imap и т. Д. С vpn-сервера.

У меня есть домашняя широкополосная сеть, в которой также есть почтовый сервер. Поскольку мой провайдер не дает мне фиксированный IP-адрес, а большинство серверов отказываются принимать почту smtp из динамических диапазонов IP-адресов, я почувствовал, что простым решением будет запустить VPN между виртуальным сервером, который у меня уже есть, и моим почтовым ящиком. .

Я сделал это нормально, я установил openvpn, и с этим подключением все в порядке. Моя домашняя сеть работает на 192.168.1.x, vpn работает на 10.8.0.x, а клиент (мой почтовый сервер) имеет адрес 10.8.0.6 на конце туннеля. У vps есть реальный IP-адрес на стороне Интернета.

У меня включена переадресация ip, и я могу с радостью отправлять трафик с клиента, электронной почты, веб-браузера и т. Д., Но я не понимаю, как перенаправить трафик из Интернета на порты smtp, imap, pop3 и т. Д., Входящие на мой почтовый сервер .

Надеюсь, я дал достаточно информации.

Заранее спасибо.

Весь трафик для работы через vpn Вот правильная настройка Windows 7 и dd-wrt

Конфигурация сервера:

server 172.20.20.0 255.255.255.248
push "dhcp-option DNS 192.168.0.1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
dev tun0
proto tcp
port 443
keepalive 15 30

daemon
verb 0
mute 5
comp-lzo
duplicate-cn
tls-server

dh /tmp/openvpn/dh.pem
ca /tmp/openvpn/ca.crt
cert /tmp/openvpn/cert.pem
key /tmp/openvpn/key.pem
tls-auth /tmp/openvpn/ta.key 0

management localhost 14

Конфигурация клиента:

client
dev tun0
proto tcp
port 443
remote xxx.xxx.xxx.xxx 443
remote xxx.xxx.xxx.xxx 443
nobind
persist-key
persist-tun
ns-cert-type server
comp-lzo
verb 3
ca ca.crt
cert client1.crt
key client1.key
tls-auth ta.key 1

DD-wrt Firewall:

iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT
iptables -I FORWARD 1 --source 172.20.20.0/29 -j ACCEPT

Для всех портов:

iptables -t nat -A PREROUTING -p tcp --dport 25 -d $real_world_ip -j DNAT --to-destination 10.8.0.6
iptables -t nat -A POSTROUTING -p tcp --dport 25 -d 10.8.0.6 -j SNAT --to-source 10.8.0.x
iptables -A FORWARD -p tcp --dport 25 -d 10.8.0.6 -j ACCEPT

Редактировать 1 (ответ на комментарий)

Можно заставить почтовый сервер видеть исходный адрес (это тривиально, вам просто нужно пропустить правило SNAT). Задача состоит в том, чтобы вернуть ответные пакеты на vserver. Для этого вам понадобится расширенная маршрутизация. И, думаю, вам еще нужна отметка подключения Netfilter. Вы отмечаете все новые соединения с vserver, копируете метку соединения в метку пакета и используете метку пакета для принятия решения о маршрутизации. Вам нужно определить дополнительную таблицу маршрутизации в / etc / iproute2 / rt_tables. Вы можете назвать его to_vserver.

Блок iptables для каждого порта, остальные - только один раз.

# mark new connections from VPN interface
iptables -t nat -A PREROUTING -i tun0 -p tcp --dport 25 -j CONNMARK --set-mark 42
# set packet mark of outgoing locally created packets which have this connection mark
iptables -t mangle -A OUTPUT -m connmark --mark 42 -j CONNMARK --restore-mark

# in this routing table: send everything over the VPN
ip route add table to_vserver 10.8.0.x dev tun0 src  10.8.0.6
ip route add table to_vserver default via 10.8.0.x

# use routing table to_vserver (instead of main) for every packet with this packet mark
ip rule add fwmark 42 priority 100 table to_vserver

VPN не изменяют ваш общедоступный IP-адрес, позвольте мне повторить, что VPN не скрывают ваш реальный IP-адрес от домашнего IP-адреса, если вы не подключены к внешнему vpn, что означает, что это не ваш домашний vpn. У меня весь трафик успешно проходит через мой домашний dd-wrt vpn с конфигурацией, которую я опубликовал ранее. Электронная почта, браузер и т. Д.

Без переадресации портов или триггеров портов vpns предназначены для обеспечения безопасности, vpns шифруют ваши каналы данных, они не скрывают и не скрывают ваш IP-адрес. Для этой задачи вам понадобится прокси-сервер или используйте браузер через свой vpn для дополнительной безопасности.

У общественности есть заблуждение, и они думают, что VPN каким-то образом меняют ваш общедоступный IP-адрес, которого они не делают, VPN назначает IP-адреса, как обычный маршрутизатор, но теперь ваш канал данных зашифрован, и вы можете безопасно туннелировать через открытый Wi-Fi в свою домашнюю или офисную сеть. . В открытом Wi-Fi в каком-то месте ваш IP-адрес будет использовать ваш домашний IP-адрес, а не общедоступный IP-адрес Wi-Fi. Я надеюсь, что общественность теперь понимает.