LINUX.ORG.RU
решено ФорумAdmin

завернуть SMTP трафик


0

1

Провайдер по непонятным причинам режет SMTP трафик, как можно smtp трафик завернуть через сервак который находится в инете? VPN тунель поднят между локальным шлюзом и серваком в нете. Я так понимаю это сделать можно средствами Iptables?

Ответ на: комментарий от mrtmexx

Ааа... Тупанул. Не кошерно. Ну может через iptables порты + скрипты пользовать, т.е. пошло что-то на 25 порт, запускать маршрут, и отправлять его через vpn.

Но это что-то костыли конечно, на мой взгляд нужно разбираться с провайдером.

DALDON ★★★★★ ()
Ответ на: комментарий от mrtmexx

поставь почтовый релей на сервак в интернете и поворачивай туда трафик на здоровье

Pinkbyte ★★★★★ ()

>Провайдер по непонятным причинам режет SMTP трафик, как можно smtp трафик завернуть через сервак который находится в инете?
или просите чтобы вам разрешили трафик, или используйте релей прова.
или используйте другие порты

fr_butch ()

>Провайдер по непонятным причинам режет SMTP трафик

Из интернета к тебе? Обычное явление. Либо разбирайся с провайдером (некоторые могут открыть порт), либо используй для smtp внешний сервер

как можно smtp трафик завернуть через сервак который находится в инете?


Наводящий вопрос: а как smtp сервер определяет, что письмо нужно доставить именно на твой адрес? Через DNS. Правь MX запись в своём домене, чтобы она указывала на «сервак, который находится в интернете», а с него передавай почту на свой, но по другому порту.

Или, как уже сказал fr_butch, используй smtp релей провайдера

Я так понимаю это сделать можно средствами Iptables?


Да, можно и так, но ИМХО это криво. При проблемах с VPN твой smtp будет недоступен.

Делаешь обычный проброс порта с «сервака, который находится в инете», на твой smtp сервер. Не забудь, что потребуется SNAT

router ★★★★★ ()
Ответ на: комментарий от swelf

>примерно так

Не взлетит. Отвечать сервер будет в соответствии со своей таблицей маршрутизации, в обход «внешнего сервера»

К тому же глупо громоздить динамическую маршрутизацию там, где дело традиционно решается пробросом порта

router ★★★★★ ()
Ответ на: комментарий от router

я про почту ничего не говорил...

делая

telnet mail.server 25
mail.server который находится где то в нете, он мне ничего не возвращает... а если делать с сервака из другого места, то нормально... разве здесь релей поможет?

Провайдер режет весь smtp трафик

mrtmexx ()
Ответ на: комментарий от mrtmexx

Тут есть 2 варианта:

1) это какой-то неправильный провайдер

2) у тебя вирусы, а провайдер героически защищает инет от тебя. Но почему-то молча.

Сначала общайся с провайдером и выясняй причину.

router ★★★★★ ()
Ответ на: комментарий от mrtmexx

Ещё раз говорю: пообщайся с провайдером.

Если они скажут: «мы блокируем просто потому, что мы блокируем, иди лесом» - это один расклад. Тут уже придётся извращаться. Но скорее всего, общение с провайдером решит проблему без всяких костылей.

Если не хочешь по-хорошему, пускай всю почту по своему VPN. Это можно сделать как через iptables, так и через настройки почтового сервера. Второй вариант предпочтительнее.

router ★★★★★ ()

Какой трафик то собрались заворачивать, входящий или исходящий? В смысле вам нужно принимать почту из инета на локальный шлюз или отправлять?

anonymous ()
Ответ на: комментарий от anonymous

Я так понимаю, человек имеет некий почтовый аккаунт, и хочет достучаться до своего smtp сервера, который залочен провайдером.

DALDON ★★★★★ ()
Ответ на: комментарий от DALDON

а) узнать у провайдера адрес его почтового релея и исходящие письма слать через него б) у многих почтовых сервисов smtp работает не только на 25 порту, а в 99% случаем закрывают только 25.

ventilator ★★★ ()
Ответ на: комментарий от router

Был неправ. Для отправки почты только это и подойдёт. Останется лишь резрешить форвардинг на внешнем сервере

router ★★★★★ ()
Ответ на: комментарий от anonymous

как я понимаю он режет и тот и другой, мне не надо принимать и отправлять, просто настраивая почтовый сервак в нете не могу проверить

telnet mail.server 25

mrtmexx ()
Ответ на: комментарий от mrtmexx

Сервак в инете повесь на порт 5025 или любой другой взбредший в голову и релей на него.

blind_oracle ★★★★★ ()
Ответ на: комментарий от mrtmexx

Маркируются? Странно, ибо я соврал немного, в прероутинг не попадают локально генерированные пакеты, замени цепочку на OUTPUT и все заработает. Сам сейчас проверил.

swelf ()
Ответ на: комментарий от mrtmexx

Билайн? сразу надо было говорить. Ты конечно же проверил в личном кабинете состояние порта 25.

uspen ★★★★★ ()
Ответ на: комментарий от mrtmexx

На первом терминале выпоолняю

root@debian-01:~# ping 4.2.2.2 -c1
PING 4.2.2.2 (4.2.2.2) 56(84) bytes of data.
64 bytes from 4.2.2.2: icmp_req=1 ttl=248 time=67.4 ms

--- 4.2.2.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 67.466/67.466/67.466/0.000 ms
root@debian-01:~# telnet 4.2.2.2 25
Trying 4.2.2.2...
telnet: Unable to connect to remote host: Connection refused

На втором смотрим

root@debian-01:~# tcpdump -n -nn -e host 4.2.2.2
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
10:18:11.617466 c8:0a:a9:33:74:10 > 00:08:c7:45:74:6a, ethertype IPv4 (0x0800), length 98: 192.168.4.206 > 4.2.2.2: ICMP echo request, id 4916, seq 1, length 64
10:18:11.684910 00:08:c7:45:74:6a > c8:0a:a9:33:74:10, ethertype IPv4 (0x0800), length 98: 4.2.2.2 > 192.168.4.206: ICMP echo reply, id 4916, seq 1, length 64
10:18:18.837354 c8:0a:a9:33:74:10 > 00:08:c7:45:74:6a, ethertype IPv4 (0x0800), length 74: 192.168.4.206.60170 > 4.2.2.2.25: Flags [S], seq 281242437, win 5840, options [mss 1460,sackOK,TS val 220010088 ecr 0,nop,wscale 6], length 0
10:18:18.904446 00:08:c7:45:74:6a > c8:0a:a9:33:74:10, ethertype IPv4 (0x0800), length 60: 4.2.2.2.25 > 192.168.4.206.60170: Flags [R.], seq 0, ack 281242438, win 0, length 0

потом делаю

root@debian-01:~# ip ru a fwmark 10 tab 10
root@debian-01:~# ip r a default via 192.168.4.52 tab 10
root@debian-01:~# iptables -A OUTPUT -t mangle -p tcp --dport 25 -d 4.2.2.2 -j MARK --set-mark 10
root@debian-01:~# ping 4.2.2.2 -c1
PING 4.2.2.2 (4.2.2.2) 56(84) bytes of data.
64 bytes from 4.2.2.2: icmp_req=1 ttl=248 time=69.2 ms

--- 4.2.2.2 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 69.202/69.202/69.202/0.000 ms
root@debian-01:~# telnet 4.2.2.2 25
Trying 4.2.2.2...
^C

И видим, что icmp трафик продолжает идти на тот же роутер, а трафик на 25 порт уже на другой(видим это по dst mac)

10:18:40.720469 c8:0a:a9:33:74:10 > 00:08:c7:45:74:6a, ethertype IPv4 (0x0800), length 98: 192.168.4.206 > 4.2.2.2: ICMP echo request, id 4922, seq 1, length 64
10:18:40.789649 00:08:c7:45:74:6a > c8:0a:a9:33:74:10, ethertype IPv4 (0x0800), length 98: 4.2.2.2 > 192.168.4.206: ICMP echo reply, id 4922, seq 1, length 64
10:18:43.887289 c8:0a:a9:33:74:10 > 00:07:95:1a:fe:73, ethertype IPv4 (0x0800), length 74: 192.168.4.206.60174 > 4.2.2.2.25: Flags [S], seq 657834110, win 5840, options [mss 1460,sackOK,TS val 220016351 ecr 0,nop,wscale 6], length 0
10:18:46.886738 c8:0a:a9:33:74:10 > 00:07:95:1a:fe:73, ethertype IPv4 (0x0800), length 74: 192.168.4.206.60174 > 4.2.2.2.25: Flags [S], seq 657834110, win 5840, options [mss 1460,sackOK,TS val 220017101 ecr 0,nop,wscale 6], length 0

Для наглядности

root@debian-01:~# ip n sh
192.168.4.1 dev eth0 lladdr 00:08:c7:45:74:6a REACHABLE
192.168.4.52 dev eth0 lladdr 00:07:95:1a:fe:73 STALE

swelf ()
Ответ на: комментарий от swelf

у меня пакеты не уходят в туннель

P.S. на сервере eth0- смотрит на провайдера, eth1 в локалку, tun0 на сервер в нете

ifconfig 
eth0      Link encap:Ethernet  HWaddr 00:25:22:67:74:98  
          inet addr:10.6.109.120  Bcast:10.6.109.255  Mask:255.255.254.0
          inet6 addr: fe80::225:22ff:fe67:7498/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4951864 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5719011 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4798285994 (4.4 GiB)  TX bytes:1186770342 (1.1 GiB)
          Interrupt:28 Base address:0xe000 

eth1      Link encap:Ethernet  HWaddr f0:7d:68:c2:0f:4e  
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::f27d:68ff:fec2:f4e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4158829 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4901643 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:970932473 (925.9 MiB)  TX bytes:4595534257 (4.2 GiB)
          Interrupt:22 Base address:0xec00 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:19618 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19618 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2797095 (2.6 MiB)  TX bytes:2797095 (2.6 MiB)

ppp0      Link encap:Point-to-Point Protocol  
          inet addr:X.X.X.X  P-t-P:217.30.252.5  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1460  Metric:1
          RX packets:217586 errors:0 dropped:0 overruns:0 frame:0
          TX packets:191279 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:179840845 (171.5 MiB)  TX bytes:48402998 (46.1 MiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:192.168.20.6  P-t-P:192.168.20.5  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:3467 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3886 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:240325 (234.6 KiB)  TX bytes:462764 (451.9 KiB)

прописываю

ip r a default via 192.168.20.6 tab 10

ip ru a fwmark 10 tab 10

iptables -A PREROUTING -t mangle -p tcp --dport 25 -j MARK --set-mark 10

mrtmexx ()

Режет даже если используется нестандартный порт?

А если использовать SMTPS (SMTP через SSL)?

Hope ★★ ()
Ответ на: комментарий от swelf

не надо проверять... заработало, не знаю почему сразу не получилось... спасибо тебе огромное...помог очень сильно.

mrtmexx ()
Ответ на: комментарий от Hope

на нестандартных портах не проверял... но ssmtp все равно режет... причем удивительное что операторы говорят что ничего у них не режется...

mrtmexx ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.