Перейти к содержимому
Калькуляторы

FreeBSD jail - пропал доступ в Интернет кроме icmp

Дано: домашний роутер с FreeBSD, в котором живёт одинокий jail для торрентов. У роутера были проблемы с аппаратной частью, отваливался чипсет, и я как-то пропустил момент, когда в jail перестал работать интернет. Сегодня на всякий случай переставил систему начисто, накатил сохранённые конфиги, создал чистый jail - интернета нет. Причём ping и traceroute успешно работают, а всё остальное нет. Чувствую, что дело в какой-то мелочи, но в какой - неясно. Поиск по симптомам ничего подходящего не находит, потому нужна помощь :)

jail.conf

exec.start = "/bin/sh /etc/rc";
exec.stop = "/bin/sh /etc/rc.shutdown";
exec.clean;
mount.devfs;
path = "/usr/px/Jails/$name";

test {
        host.hostname = "test";
        ip4.addr = 172.16.2.2;
        allow.raw_sockets;
        exec.fib=1;
}

соответствующая часть из rc.conf

ifconfig_lo1="inet 172.16.2.1 netmask 255.255.255.0" # Jails GW
ifconfig_lo1_alias0="inet 172.16.2.2 netmask 255.255.255.255" # First jail alias
...
jail_enable="YES"
gateway_enable="YES"

Ставлю минимальный файерволл на хосте

#!/bin/sh

FwCMD="/sbin/ipfw"	
LanOut="fxp0" 
IpOut="100.66.1.248"	
GW="100.66.0.1" 
IpIn="172.16.1.1"	
NetMask="24" 
NetIn="172.16.1.0"	
JailIn="172.16.2.0"	

# Сбрасываем ранее установленные правила:
${FwCMD} -f flush
# сбрасываем все pipe
${FwCMD} -f pipe flush
# сбрасываем очереди
${FwCMD} -f queue flush
# сбрасываем статистику пакетов
${FwCMD} -f zero

${FwCMD} add allow log ip from any to any via lo0
${FwCMD} add allow log ip6 from any to any via lo0
${FwCMD} add allow log ip from any to any via lo1
${FwCMD} add allow log ip6 from any to any via lo1

# Отправляем трафик из jail через отдельную таблицу маршрутизации
${FwCMD} add setfib 1 log ip from ${JailIn}/${NetMask} to any
${FwCMD} add setfib 1 log ip from any to ${JailIn}/${NetMask}
setfib 1 route add default ${GW}

# пропускаем траффик через трансляцию сетевых адресов (NAT)
${FwCMD} nat 100 config if ${LanOut} log same_ports unreg_only \
 						redirect_port udp 172.16.1.2:3659 3659
${FwCMD} add nat 100 log all from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add nat 100 log all from ${JailIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add nat 100 log all from any to ${IpOut} in via ${LanOut}

${FwCMD} add allow log logamount 100000 ip from any to any

Начинаю пинговать тестовый хост (i.ua, удобное короткое имя для проверки)

# ping i.ua
PING i.ua (91.198.36.14): 56 data bytes
64 bytes from 91.198.36.14: icmp_seq=0 ttl=60 time=1.393 ms
64 bytes from 91.198.36.14: icmp_seq=1 ttl=60 time=1.375 ms

В логе файерволла

Oct  9 15:35:20 bsd-route kernel: ipfw: 500 SetFib 1 ICMP:8.0 172.16.2.2 91.198.36.14 out via fxp0
Oct  9 15:35:20 bsd-route kernel: ipfw: 800 Nat ICMP:8.0 172.16.2.2 91.198.36.14 out via fxp0
Oct  9 15:35:20 bsd-route kernel: ipfw: 1000 Accept ICMP:8.0 100.66.1.248 91.198.36.14 out via fxp0
Oct  9 15:35:20 bsd-route kernel: ipfw: 900 Nat ICMP:0.0 91.198.36.14 100.66.1.248 in via fxp0
Oct  9 15:35:20 bsd-route kernel: ipfw: 1000 Accept ICMP:0.0 91.198.36.14 172.16.2.2 in via fxp0

Пытаюсь забрать текст с главной

# fetch http://i.ua
fetch: http://i.ua: Operation timed out

В логе совершенно то же самое

Oct  9 15:35:55 bsd-route kernel: ipfw: 500 SetFib 1 TCP 172.16.2.2:45753 91.198.36.14:80 out via fxp0
Oct  9 15:35:55 bsd-route kernel: ipfw: 800 Nat TCP 172.16.2.2:45753 91.198.36.14:80 out via fxp0
Oct  9 15:35:55 bsd-route kernel: ipfw: 1000 Accept TCP 100.66.1.248:45753 91.198.36.14:80 out via fxp0
Oct  9 15:35:55 bsd-route kernel: ipfw: 900 Nat TCP 91.198.36.14:80 100.66.1.248:45753 in via fxp0
Oct  9 15:35:55 bsd-route kernel: ipfw: 1000 Accept TCP 91.198.36.14:80 172.16.2.2:45753 in via fxp0

Т.е. ответ пришёл, прошёл через NAT, и был "разрешён" к передаче дальше файерволлом, и потерялся где-то дальше, но где?

На хостовой системе всё прекрасно работает

fetch http://i.ua
Certificate verification failed for /C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
673056224:error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed:/usr/src/crypto/openssl/ssl/s3_clnt.c:1269:
fetch: http://i.ua: Authentication error

Сделал дампы трафика в tcpdump, картина та же, ответ от сайта не доходит до джейла.

Хост:

17:12:46.862095 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    100.66.1.248.13291 > www.i.ua.http: Flags [S], cksum 0x89b7 (correct), seq 2503970007, win 65535, options [mss 1460,nop,wscale 6,sackOK,TS val 8290667 ecr 0], length 0
17:12:46.863418 IP (tos 0x0, ttl 60, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    www.i.ua.http > 100.66.1.248.13291: Flags [S.], cksum 0xcc90 (correct), seq 2528115947, ack 2503970008, win 5792, options [mss 1460,sackOK,TS val 3705681400 ecr 8290667,nop,wscale 7], length 0
17:12:46.863481 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 52)
    100.66.1.248.13291 > www.i.ua.http: Flags [.], cksum 0x0df9 (correct), seq 1, ack 1, win 1026, options [nop,nop,TS val 8290669 ecr 3705681400], length 0
17:12:46.864168 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 146)
    100.66.1.248.13291 > www.i.ua.http: Flags [P.], cksum 0x5606 (correct), seq 1:95, ack 1, win 1026, options [nop,nop,TS val 8290669 ecr 3705681400], length 94: HTTP, length: 94
        GET / HTTP/1.1
        Host: i.ua
        Accept: */*
        User-Agent: fetch libfetch/2.0
        Connection: close

Джейл:

16:47:54.768143 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    100.66.1.248.41436 > www.i.ua.http: Flags [S], cksum 0x9e0e (correct), seq 794375434, win 65535, options [mss 1460,nop,wscale 6,sackOK,TS val 6798573 ecr 0], length 0
16:47:54.769465 IP (tos 0x0, ttl 60, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    www.i.ua.http > 100.66.1.248.41436: Flags [S.], cksum 0x03b1 (correct), seq 941882795, ack 794375435, win 5792, options [mss 1460,sackOK,TS val 3704189202 ecr 6798573,nop,wscale 7], length 0
16:47:57.767610 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    100.66.1.248.41436 > www.i.ua.http: Flags [S], cksum 0x9256 (correct), seq 794375434, win 65535, options [mss 1460,nop,wscale 6,sackOK,TS val 6801573 ecr 0], length 0
16:47:57.769038 IP (tos 0x0, ttl 60, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    www.i.ua.http > 100.66.1.248.41436: Flags [S.], cksum 0xf7f9 (correct), seq 941882795, ack 794375435, win 5792, options [mss 1460,sackOK,TS val 3704192201 ecr 6798573,nop,wscale 7], length 0
16:47:58.973410 IP (tos 0x0, ttl 60, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    www.i.ua.http > 100.66.1.248.41436: Flags [S.], cksum 0xf344 (correct), seq 941882795, ack 794375435, win 5792, options [mss 1460,sackOK,TS val 3704193406 ecr 6798573,nop,wscale 7], length 0
16:48:00.967617 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    100.66.1.248.41436 > www.i.ua.http: Flags [S], cksum 0x85d6 (correct), seq 794375434, win 65535, options [mss 1460,nop,wscale 6,sackOK,TS val 6804773 ecr 0], length 0

 

У кого есть идеи, из-за чего может быть такая проблема? Интернет не работает исключительно в джейлах, все остальные "клиенты" роутера и сам роутер работают нормально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

kldstat
 

Id Refs Address    Size     Name
 1   75 0xc0400000 184e9f8  kernel
 2    1 0xc1c50000 2fa8     alias_ftp.ko
 3    4 0xc1c53000 d834     libalias.ko
 4    1 0xc1c61000 2600     alias_pptp.ko
 5    1 0xc1c64000 5654     ipfw_nat.ko
 6    2 0xc1c6a000 2d4b8    ipfw.ko
 7    1 0xc1c98000 1034c0   radeonkms.ko
 8    2 0xc1d9c000 4258     iicbb.ko
 9    5 0xc1da1000 5ae0     iicbus.ko
10    2 0xc1da7000 3798     iic.ko
11    2 0xc1dab000 4bbc0    drm2.ko
12    1 0xc1df7000 2504     radeonkmsfw_RV610_pfp.ko
13    1 0xc1dfa000 6ff0     radeonkmsfw_RV610_me.ko
14    1 0xc1e01000 23fc     radeonkmsfw_R600_rlc.ko
15    1 0xc6164000 9000     if_bridge.ko
16    1 0xc5dab000 6000     bridgestp.ko
17    1 0xc640f000 2000     wlan_xauth.ko
18    1 0xc78c4000 1f000    smbfs.ko
19    2 0xc6379000 5000     libiconv.ko
20    2 0xc5d52000 3000     libmchain.ko
21    1 0xc7a5d000 4000     ng_socket.ko
22    7 0xc6dfd000 d000     netgraph.ko
23    1 0xc7516000 5000     ng_mppc.ko
24    1 0xc75b7000 2000     rc4.ko
25    1 0xc79a2000 4000     ng_iface.ko
26    1 0xc7a63000 7000     ng_ppp.ko
27    1 0xc784d000 2000     ng_tee.ko
28    1 0xc76b4000 5000     ng_pptpgre.ko
29    1 0xc7892000 5000     ng_ksocket.ko

ipfw list

00100 nat 100 log ip from 172.16.1.0/24 to any out via fxp0
00200 nat 100 log ip from 172.16.2.0/24 to any out via fxp0
00300 nat 100 log ip from any to 100.66.1.248 in via fxp0
00400 allow log logamount 100000 ip from any to any
65535 allow ip from any to any

Сократил список правил ещё сильнее, но картина та же

Успешный icmp

Oct  9 22:45:51 bsd-route kernel: ipfw: 200 Nat ICMP:8.0 172.16.2.3 91.198.36.14 out via fxp0
Oct  9 22:45:51 bsd-route kernel: ipfw: 400 Accept ICMP:8.0 100.66.1.248 91.198.36.14 out via fxp0
Oct  9 22:45:51 bsd-route kernel: ipfw: 300 Nat ICMP:0.0 91.198.36.14 100.66.1.248 in via fxp0
Oct  9 22:45:51 bsd-route kernel: ipfw: 400 Accept ICMP:0.0 91.198.36.14 172.16.2.3 in via fxp0

Неудачный tcp

Oct  9 22:46:02 bsd-route kernel: ipfw: 200 Nat TCP 172.16.2.3:28522 91.198.36.14:80 out via fxp0
Oct  9 22:46:02 bsd-route kernel: ipfw: 400 Accept TCP 100.66.1.248:28522 91.198.36.14:80 out via fxp0
Oct  9 22:46:02 bsd-route kernel: ipfw: 300 Nat TCP 91.198.36.14:80 100.66.1.248:28522 in via fxp0
Oct  9 22:46:02 bsd-route kernel: ipfw: 400 Accept TCP 91.198.36.14:80 172.16.2.3:28522 in via fxp0

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

сетевку меняли ?

TSO на ней есть ? выключите

-rxcsum еще можно попробовать выключить

хотя это вроде бы давно фиксили но все же

Изменено пользователем paradox_

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

39 minutes ago, paradox_ said:

сетевку меняли ?

TSO на ней есть ? выключите


-RXCSUM еще можно попробовать выключить

хотя это вроде бы давно фиксили но все же

Таки внезапно да, -RXCSUM сработало, спасибо :)

Сетевая поменялась, так как на предыдущей плате была живая интеграшка, а на этой мёртвая, пришлось достать из загашника старый Intel PRO/100

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

цитировать то меня зачем....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Привычка из более активных веток, чтобы было видно, на что отвечаю :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

плохая привычка

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

этот вопрос кстати уже обсуждался в интернете

если бы вы внимательно поискали не пришлось бы спрашивать здесь

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Цитата

AvProxy https://forum.cesbo.com/topic/2161-avproxy/ mini proxy RTSP(S)/HTTP(S)/HLS(S)(AES-128)/RTP/UDP + VOD, MPTS demux

А На самом сайте:
 

forum.cesbo.com использует недействительный сертификат безопасности. 
Сертификат истёк 3 сентября 2018 г., 0:24:17. Текущее время — 15 октября 2018 г., 19:34. 
Код ошибки: SEC_ERROR_EXPIRED_CERTIFICATE

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да там постоянно так :)

Лучше бы вообще не включали тлс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

думаю это проблема у хостера, в любом случае пишите на саппорт cesbo

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.