LINUX.ORG.RU
ФорумAdmin

Волшебное не открывание портов(need help)

 , , ,


0

1

Здравствуйте. Имеется машина с debian 11(сервер, консоль, x86), две сетевухи -одна наружу, вторая внутрь, ONT huawei HG8245 для связи с миром. Две важные задачи машины - раздавать интернет и веб сервер. Интернет раздаётся, сайт работает в локалке отлично, НО... Закрылись все входящие порты, сайт снаружи стал недоступен. Ковырялось всё, что можно, из всего прочего были перезаписаны правила iptables с обнулением таблицы. Голову сломал. Задача - открыть порты и сделать сайт вновь доступным из вне. В какую сторону копать, может кто из вас подскажет. Вот данные для размышления:

$ iptables-save
*filter
:INPUT DROP [13153:762179]
:FORWARD DROP [13471:5673163]
:OUTPUT ACCEPT [38831:6190519]
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -s 192.168.0.0/24 -p tcp -m multiport --dports 22,53,67 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.0.0/24 -p tcp -m multiport --dports 80,443 -j ACCEPT
COMMIT
*nat
:PREROUTING ACCEPT [48651:7808220]
:INPUT ACCEPT [11887:821897]
:OUTPUT ACCEPT [11600:1146958]
:POSTROUTING ACCEPT [11600:1146958]
-A PREROUTING -i enp2s1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.1
-A PREROUTING -i enp2s1 -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.0.1
-A POSTROUTING -s 192.168.0.0/24 -o enp2s1 -j MASQUERADE
COMMIT

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: enp2s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.1/24 brd 192.168.0.255 scope global enp2s8
       valid_lft forever preferred_lft forever
3: enp2s1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet XX.XXX.XXX.XX/XX brd XX.XXX.XXX.XXX scope global dynamic enp2s1
       valid_lft 582sec preferred_lft 582sec
$ netstat -pnltu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      604/mariadbd
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      614/apache2
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      558/sshd: /usr/sbin
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      520/named
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      614/apache2
udp        0      0 192.168.0.1:53          0.0.0.0:*                           520/named
udp        0      0 192.168.0.1:53          0.0.0.0:*                           520/named
udp        0      0 0.0.0.0:67              0.0.0.0:*                           606/dhcpd
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1886/dhclient
$ netstat -i
Kernel Interface table
Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
enp2s1    1500  1846797      0      0 0       1007477      0      0      0 BMRU
enp2s8    1500  1023444      0      0 0       1833742      0      0      0 BMRU
lo       65536      642      0      0 0           642      0      0      0 LRU

Настройка ONT

2ip.ru

$ iptables -vL -t nat
Chain PREROUTING (policy ACCEPT 40475 packets, 7187K bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DNAT       tcp  --  enp2s1 any     anywhere             anywhere             tcp dpt:http to:192.168.0.1
    0     0 DNAT       tcp  --  enp2s1 any     anywhere             anywhere             tcp dpt:https to:192.168.0.1

Chain INPUT (policy ACCEPT 10227 packets, 710K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 9986 packets, 992K bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 9986 packets, 992K bytes)
 pkts bytes target     prot opt in     out     source               destination
10076  574K MASQUERADE  all  --  any    enp2s1  192.168.0.0/24       anywhere


Последнее исправление: Samiels (всего исправлений: 8)

Вы tcpdump'ом смотрели пакеты? Что SYN пакет приходит на enp2s1, а на втором интерфейсе его нет? Счётчики у правил смотрели, если у правила нулевой счётчик, либо пакеты не приходят, либо правило не в том месте...

То, Что вы запостили, нечитаемо, там под формой есть ссылка на описание, не нужно правила iptables оформлять как список, нужно как ″code″.

Ещё раз перечитал ваш пост. Вобще не понял, что вы пытаетесь сделать. Если 192.168.0.1 это адрес вашего же сервера (с которого правила iptables), то открывание портов в FORWARD бессмысленно.

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

У него политика дроп в цепочке инпут и он блокирует все входящие соединения из мира на сервер. Веб сервер из внешнего мира доступен не будет.

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

У него accept на 80,443 так что пофиг.

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

Прислушался к вашим замечаниям

Поправил шапку. Вот что получил при отлове SYN пакетов:

$ tcpdump -i enp2s1 "tcp[tcpflags] & tcp-syn != 0"
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on enp2s1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
13:23:30.393520 IP 37.151.184.21.53215 > 2ip.ru.https: Flags [S], seq 985801487, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
13:23:30.504094 IP 2ip.ru.https > 37.151.184.21.53215: Flags [S.], seq 3553586028, ack 985801488, win 64240, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
13:23:35.149484 IP 37.151.184.21.53216 > 2ip.ru.https: Flags [S], seq 3108310555, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
13:23:35.155602 IP 37.151.184.21.53217 > 2ip.ru.https: Flags [S], seq 1316462046, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
13:23:35.157807 IP 37.151.184.21.53218 > 2ip.ru.https: Flags [S], seq 2487918977, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
13:23:35.160255 IP 37.151.184.21.53219 > 2ip.ru.https: Flags [S], seq 2479919960, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
13:23:35.174604 IP 37.151.184.21.53220 > 2ip.ru.https: Flags [S], seq 1046258886, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
13:23:35.247594 IP 2ip.ru.https > 37.151.184.21.53216: Flags [S.], seq 3879732390, ack 3108310556, win 64240, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
13:23:35.254330 IP 2ip.ru.https > 37.151.184.21.53218: Flags [S.], seq 2109487428, ack 2487918978, win 64240, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
13:23:35.258465 IP 2ip.ru.https > 37.151.184.21.53219: Flags [S.], seq 4266126865, ack 2479919961, win 64240, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
13:23:35.265908 IP 2ip.ru.https > 37.151.184.21.53217: Flags [S.], seq 524833665, ack 1316462047, win 64240, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
13:23:35.274128 IP 2ip.ru.https > 37.151.184.21.53220: Flags [S.], seq 1783524849, ack 1046258887, win 64240, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
13:23:35.423774 IP 193.3.19.190.42546 > 92.46.31.52.megaline.telecom.kz.33042: Flags [S], seq 2572421622, win 1024, length 0
^C
13 packets captured
13 packets received by filter
0 packets dropped by kernel
$ tcpdump -i enp2s8 "tcp[tcpflags] & tcp-syn != 0"
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on enp2s8, link-type EN10MB (Ethernet), snapshot length 262144 bytes
13:23:25.671871 IP 192.168.0.2.53213 > 178.248.233.6.9000: Flags [S], seq 2234384686, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
13:23:25.926281 IP 192.168.0.2.53214 > 178.248.233.6.9000: Flags [S], seq 2818976574, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
13:23:30.393466 IP 192.168.0.2.53215 > 2ip.ru.https: Flags [S], seq 985801487, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
13:23:30.504118 IP 2ip.ru.https > 192.168.0.2.53215: Flags [S.], seq 3553586028, ack 985801488, win 64240, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
13:23:35.149448 IP 192.168.0.2.53216 > 2ip.ru.https: Flags [S], seq 3108310555, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
13:23:35.155583 IP 192.168.0.2.53217 > 2ip.ru.https: Flags [S], seq 1316462046, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
13:23:35.157788 IP 192.168.0.2.53218 > 2ip.ru.https: Flags [S], seq 2487918977, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
13:23:35.160237 IP 192.168.0.2.53219 > 2ip.ru.https: Flags [S], seq 2479919960, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
13:23:35.174587 IP 192.168.0.2.53220 > 2ip.ru.https: Flags [S], seq 1046258886, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
13:23:35.247620 IP 2ip.ru.https > 192.168.0.2.53216: Flags [S.], seq 3879732390, ack 3108310556, win 64240, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
13:23:35.254342 IP 2ip.ru.https > 192.168.0.2.53218: Flags [S.], seq 2109487428, ack 2487918978, win 64240, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
13:23:35.258478 IP 2ip.ru.https > 192.168.0.2.53219: Flags [S.], seq 4266126865, ack 2479919961, win 64240, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
13:23:35.265921 IP 2ip.ru.https > 192.168.0.2.53217: Flags [S.], seq 524833665, ack 1316462047, win 64240, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
13:23:35.274141 IP 2ip.ru.https > 192.168.0.2.53220: Flags [S.], seq 1783524849, ack 1046258887, win 64240, options [mss 1460,nop,nop,sackOK,nop,wscale 7], length 0
^C
14 packets captured
14 packets received by filter
0 packets dropped by kernel
Samiels
() автор топика
Ответ на: Прислушался к вашим замечаниям от Samiels

Если 192.168.0.1 это адрес вашего http/https сервера, который не доступен из инета и для которого приводятся правила iptables, то на enp2s8 пакетов не будет (не нужно дампить).

Не вижу в дампе пакетов на ваш ip-адрес и порт 80 (http). И, судя по нулевым счётчикам DNAT-правил, их там и нет.

Если там нет tcp-пакетов на установление соединения, то ковырять iptables смысла нет. Либо маршрутизатор huawei их рубит, либо провайдер. По поводу скрина настроек huawei ничего сказать не могу, не сталкивался с подобным оборудованием.

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

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

192.168.0.1 это адрес http/https сервера, из конфига сети видно. Проблема появилась после обесточивания всего района на несколько часов, после они включали рывками и система стартанула после «fsck -y /dev/sda1» и то с руганью на сетевые интерфейсы. В целом, больше ничего не происходило и по конфигам никто не лазил, пока не выявилась проблема с портами. Провайдер точно порты не рубит, звонил, переспрашивал. Маршрутизатор - это с одной стороны китайская загадка, с другой стороны - он же работает простым мостом, для моста в нём никаких правил нет и, чисто гипотетически, комп висит одним местом наружу...он сам получает IP от провайдера на интерфейс enp2s1. Рутер сбрасывался уже два раза до заводских - результат тот же. Вот и бъюсь как рыба об лёд и куда идти не ясно.

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

Для начала запускаем. tcpdump -i enp2s1 -n port 80
Из инета telnet XX.XXX.XXX.XX 80 или nc XX.XXX.XXX.XX 80 Смотрим в выхлопе tcpdump долетели ли пакеты.

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

Запустили, получили 0 из внешки, внешка была хх.хх.87.210, зато есть это:

$ tcpdump -i enp2s1 -n port 80
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on enp2s1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
17:32:42.382103 IP 37.151.184.21.51017 > 158.247.7.204.80: Flags [SEW], seq 2589907059, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
17:32:42.614082 IP 158.247.7.204.80 > 37.151.184.21.51017: Flags [S.], seq 3370594054, ack 2589907060, win 2105, options [mss 1460], length 0
17:32:42.614351 IP 37.151.184.21.51017 > 158.247.7.204.80: Flags [.], ack 1, win 64240, length 0
17:32:42.614548 IP 37.151.184.21.51017 > 158.247.7.204.80: Flags [P.], seq 1:244, ack 1, win 64240, length 243: HTTP: GET /settings.php?username=C3A39726378&pass=HMAC%7Bsahcelkdyqrefv3sgqjyu7vx6a4%3D%7D HTTP/1.1
17:32:42.858156 IP 158.247.7.204.80 > 37.151.184.21.51017: Flags [P.], seq 1:202, ack 244, win 23360, length 201: HTTP: HTTP/1.1 200 OK
17:32:42.858191 IP 158.247.7.204.80 > 37.151.184.21.51017: Flags [F.], seq 202, ack 244, win 23360, length 0
17:32:42.858574 IP 37.151.184.21.51017 > 158.247.7.204.80: Flags [.], ack 203, win 64039, length 0
17:32:42.859133 IP 37.151.184.21.51017 > 158.247.7.204.80: Flags [F.], seq 244, ack 203, win 64039, length 0
17:32:43.061656 IP 158.247.7.204.80 > 37.151.184.21.51017: Flags [FP.], seq 1:202, ack 244, win 23360, length 201: HTTP: HTTP/1.1 200 OK
17:32:43.061972 IP 37.151.184.21.51017 > 158.247.7.204.80: Flags [.], ack 203, win 64039, length 0
17:32:43.090642 IP 158.247.7.204.80 > 37.151.184.21.51017: Flags [.], ack 245, win 26280, length 0

и это:

$ tcpdump -i enp2s1 -n port 443
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on enp2s1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
17:30:23.619415 IP 85.10.210.124.443 > 37.151.184.21.60034: Flags [P.], seq 743601863:743602064, ack 1861890420, win 260, length 201
17:30:23.624286 IP 85.10.210.124.443 > 37.151.184.21.64881: Flags [P.], seq 3175468594:3175468795, ack 2604155971, win 257, length 201
17:30:23.664011 IP 37.151.184.21.60034 > 85.10.210.124.443: Flags [.], ack 201, win 1022, length 0
17:30:23.679546 IP 37.151.184.21.64881 > 85.10.210.124.443: Flags [.], ack 201, win 1023, length 0
17:30:24.214326 IP 85.10.210.124.443 > 37.151.184.21.60034: Flags [P.], seq 201:335, ack 1, win 260, length 134
17:30:24.238832 IP 85.10.210.124.443 > 37.151.184.21.60034: Flags [P.], seq 335:472, ack 1, win 260, length 137
17:30:24.239122 IP 37.151.184.21.60034 > 85.10.210.124.443: Flags [.], ack 472, win 1021, length 0
17:30:24.302408 IP 85.10.210.124.443 > 37.151.184.21.60034: Flags [P.], seq 472:758, ack 1, win 260, length 286
17:30:24.307220 IP 85.10.210.124.443 > 37.151.184.21.64881: Flags [P.], seq 201:487, ack 1, win 257, length 286
17:30:24.352524 IP 37.151.184.21.60034 > 85.10.210.124.443: Flags [.], ack 758, win 1026, length 0
17:30:24.352558 IP 37.151.184.21.64881 > 85.10.210.124.443: Flags [.], ack 487, win 1022, length 0

Нет смысла скрывать IP - 37.151.184.21 попробуйте.

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

Вот и замечательно. До вашей машинки пакеты не долетают. Пара вариантов.
1. У прова включен fw. То что вам выдают белый статик, не означает что fw выключен. Точно практикуется в этой стране и сталкивался в ЕС.
2. На мопеде huawei режет.

ЗЫ Для очистки совести Ради интереса я бы ещё проверил icmp. Удаленно ставим ping. Ловим tcpdump -i enp2s1 -n icmp
Бывает что пров режет только серверные порты. Но это исключительно ради интереса.

ЗЫЫ Просто интересно, а какой высокий смысл вот в этих правилах?

-A PREROUTING -i enp2s1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.1
-A PREROUTING -i enp2s1 -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.0.1
ЗЫЫЫ nmap говорит All 1000 scanned ports on 37.151.184.21 are filtered

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от anc

Стучатся какие-то боты, улов:

tcpdump -i enp2s1 -n icmp
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on enp2s1, link-type EN10MB (Ethernet), snapshot length 262144 bytes
01:35:30.810263 IP 139.162.58.100 > 37.151.184.21: ICMP echo request, id 2680, seq 0, length 64
01:35:30.810326 IP 37.151.184.21 > 139.162.58.100: ICMP echo reply, id 2680, seq 0, length 64
01:36:17.600526 IP 82.196.5.139 > 37.151.184.21: ICMP echo request, id 15636, seq 0, length 20
01:36:17.600592 IP 37.151.184.21 > 82.196.5.139: ICMP echo reply, id 15636, seq 0, length 20
01:38:11.587878 IP 192.46.236.185 > 37.151.184.21: ICMP echo request, id 21761, seq 0, length 64
01:38:11.587951 IP 37.151.184.21 > 192.46.236.185: ICMP echo reply, id 21761, seq 0, length 64

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

Вашего не было? Если нет, тогда два пункта которые написал выше.

anc ★★★★★
()
26 августа 2022 г.
Ответ на: комментарий от mky

Всем доброго… Прошу прощения за столь долгое отсутствие. Что касательно проблемы… Как говориться: -«Дело было не в бабине». Долго не мог достучаться до адекватных работников своего провайдера «Казахтелеком»’а. Даже приезжали пару раз, заодно и железо обновили, канал до 500Мб заработал. Но. … Через терни, стало известно, что всё же это они блокируют порты 80 и 443(сцуки)! Объясняют - «Для безопасности», а на вопрос - «Для чьей безопасности?» - не говорят, видимо, в их скрипте этого нет. Тех. служба отправляет в абонентский отдел, который предлагает для открытия портов подключить пакет статики, который не пять копеек стоит. После предъявления им навязывания услуги(про которую даже информации нигде нет), что является незаконным и влечёт за собой, как минимум штрафы - уходят в глухую оборону. Судится с монополистом-государством - смысла нет. Так что, тема закрыта, а этот пост пусть почитают такие же, кто столкнулся и не знает где копать. Выходом послужило перенастройка сайта на альтернативные порты 88 и 8443, благо им так же доверяют и они пока ещё открыты. Всем спасибо!

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

Долго не мог достучаться до адекватных работников своего провайдера

Не умеете «стучатся», я без шуток, лучший вариант моей жизни «1-е января заставь админа выехать из подмосковья» Респект товарищу!!! И вот чсх в те времена я бы поступил так же :)

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