Рейтинг:0

Arch Linux, входящие удаленные соединения обрываются

флаг cn

У меня возникла проблема на моем (обновленном) сервере Arch Linux. Я смог воспроизвести это с помощью netcat.

Если я начну слушать на своем сервере с помощью:

ncat -l -p 2000 -k

а потом

телнет (мой локальный ip) 2000

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

Однако, если я использую telnet с удаленного компьютера, соединение устанавливается, но ничего, что я набираю на стороне сервера, не появляется на удаленной стороне. Если я что-то наберу на удаленной стороне, как только нажму Enter, на стороне сервера появится первая строка, но затем соединение сбрасывается с Соединение прервано внешним хостом..

Я смог подтвердить, что эта проблема не связана с моим маршрутизатором: перенаправив тот же порт на другую машину Debian, все работает. Это мешает работе nginx и других серверов.

На данный момент у меня нет правил iptables:

$ iptables --список
Сеть INPUT (политика ACCEPT)
целевая защита выбор источника назначения         

Сеть FORWARD (политика ACCEPT)
целевая защита выбор источника назначения         

Цепочка OUTPUT (политика ACCEPT)
целевая защита выбор источника назначения 

кот:

# ncat -l -p 2000 -k -v             
Ncat: версия 7.92 ( https://nmap.org/ncat )
Ncat: Слушаю :::2000
Ncat: прослушивание 0.0.0.0:2000


Ncat: подключение с (удаленный общедоступный IP-адрес).
Ncat: подключение с (удаленный общедоступный IP-адрес): 60990.

tcpdump на локальной машине:

# tcpdump -nnvvS порт 2000
tcpdump: прослушивание на eth0, тип ссылки EN10MB (Ethernet), длина снимка 262144 байт
13:09:46.847867 IP (tos 0x0, ttl 64, id 0, смещение 0, флаги [DF], proto TCP (6), длина 60)
    (локальный IP-адрес сервера).2000> (удаленный общедоступный IP-адрес).60990: Флаги [S.], cksum 0x5399 (неверно -> 0x8744), seq 1434025023, ack 276028935, win 65160, параметры [mss 1460, sackOK, TS val 422478433 ecr 3525397188,nop,wscale 7], длина 0
13:09:46.870265 IP (tos 0x0, ttl 64, id 14989, смещение 0, флаги [DF], proto TCP (6), длина 53)
    (локальный IP-адрес сервера).2000 > (удаленный общедоступный IP-адрес).60990: Флаги [P.], cksum 0x5392 (неверно -> 0xa864), seq 1434025024:1434025025, ack 276028935, win 510, параметры [nop,nop,TS val 422478455 екр 3525397212], длина 1
13:09:49.931230 IP (tos 0x0, ttl 64, id 0, смещение 0, флаги [DF], proto TCP (6), длина 40)
    (локальный IP-адрес сервера).2000 > (удаленный общедоступный IP-адрес).60990: Флаги [R], cksum 0x94ad (правильный), seq 1434025024, выигрыш 0, длина 0

tcpdump на удаленной машине:

# tcpdump -nnvvS порт 2000
tcpdump: прослушивание на eth0, тип ссылки EN10MB (Ethernet), размер захвата 262144 байт
13:09:46.835291 IP (tos 0x10, ttl 64, id 59780, смещение 0, флаги [DF], proto TCP (6), длина 60)
    (удаленный общедоступный IP-адрес).60990> (общедоступный IP-адрес сервера).2000: Флаги [S], cksum 0xff3a (неверно -> 0x4c94), seq 276028934, win 64240, параметры [mss 1460,sackOK,TS val 3525397188 ecr 0,nop ,масштаб 7], длина 0
13:09:46.858924 IP (tos 0x0, ttl 48, id 0, смещение 0, флаги [DF], proto TCP (6), длина 60)
    (публичный IP-адрес сервера).2000> (удаленный общедоступный IP-адрес).60990: Флаги [S.], cksum 0xdbaa (правильно), seq 1434025023, ack 276028935, win 65160, параметры [mss 1452, sackOK, TS val 422478433 ecr 3525397188, нет, масштаб 7], длина 0
13:09:46.858957 IP (tos 0x10, ttl 64, id 59781, смещение 0, флаги [DF], proto TCP (6), длина 52)
    (удаленный общедоступный IP-адрес).60990> (общедоступный IP-адрес сервера).2000: Флаги [.], cksum 0xff32 (неверно -> 0x06ea), seq 276028935, ack 1434025024, win 502, options [nop,nop,TS val 3525397212 ecr 422478433 ], длина 0
13:09:49.920045 IP (tos 0x10, ttl 64, id 59782, смещение 0, флаги [DF], proto TCP (6), длина 58)
    (удаленный общедоступный IP-адрес).60990> (общедоступный IP-адрес сервера).2000: Флаги [P.], cksum 0xff38 (неверно -> 0x0603), seq 276028935:276028941, ack 1434025024, win 502, параметры [nop,nop,TS val 3525400273 екр 422478433], длина 6
13:09:49.941752 IP (tos 0x0, ttl 48, id 0, смещение 0, флаги [DF], proto TCP (6), длина 40)
    (публичный IP-адрес сервера).2000 > (удаленный общедоступный IP-адрес).60990: Флаги [R], cksum 0xe90b (верно), seq 1434025024, выигрыш 0, длина 0
флаг jp
Список таблиц `nft list` что-нибудь перечисляет?
флаг cn
Нет, вывод пустой.
Anton Danilov avatar
флаг cn
При каждой странной сетевой проблеме запускайте tcpdump. Захватите трафик и вставьте вывод в вопрос.
флаг cn
Я никогда раньше не использовал tcpdump, как мне его запустить?
MTG avatar
флаг aq
MTG
ваш FORWARD явно DROP ing вещи. Одностороннее соединение означает, что что-то пропускает пакеты в одну сторону, но не в другую. другая работающая станция не означает, что брандмауэр на вашем маршрутизаторе открыт для всего. telnet может ввести в заблуждение. у вас должно быть доказательство того, что telnet действительно подключается, например. с netstat с обеих сторон. лучше используйте nc с -v , также сделайте «tcpdump -n» с обеих сторон и проверьте трафик.
флаг cn
Я обновил вопрос с помощью tcpdumps. Я также сбросил iptables, теперь политика по умолчанию для FORWARD - ACCEPT.
Рейтинг:0
флаг ru

Поскольку ваш tcpdump показывает server_local_ip и server_public_ip — у вас есть несколько IP-адресов на вашем сервере? Это может быть проблема с маршрутизацией, и если это так, вы должны настроить маршрутизацию политики.

Ответить или комментировать

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