IPFW запрещает ssl-соединения

У меня возникают проблемы при загрузке веб-сайтов https (Google, Facebook, Amazon) через мои PHP-скрипты с использованием таких функций, как fsockopen, file_get_contents, Время операции истекло. Поэтому я начал просматривать настройки системы и заметил, что когда служба ipfw останавливается, она работает как чудо.

Так что это проблема, определенно связанная с моей конфигурацией IPFW. Я включил ведение журнала, и это появляется в файле журнала при попытке выполнить скрипт PHP:

ipfw: 1000 Deny ICMPv6:1.3 [2001:...:...:...::] [2001:...:2:...::] in via em0
ipfw: 1000 Deny ICMPv6:131.0 [...::...:...:...:...] [...::1:...:0] in via em0
ipfw: 1000 Deny ICMPv6:136.0 [2001:...:...:...:ff:ff:ff:ff] [...:...:2:...::] in via em0

Похоже, проблема с IPv6, хотя я allow all сохраняйте соединения типа состояния в моем файле ipfw.

Вот конфигурация, которую я сейчас использую:

#!/usr/local/bin/bash

IPF="/sbin/ipfw -q add"

/sbin/ipfw -q -f flush

$IPF 10 allow all from any to any via lo0
$IPF 11 deny all from any to 127.0.0.0/8
$IPF 12 deny all from 127.0.0.0/8 to any
$IPF 13 deny tcp from any to any frag

$IPF 250 check-state
$IPF 260 allow tcp from any to any established
$IPF 270 allow all from any to any out keep-state
$IPF 280 allow icmp from any to any

$IPF 290 allow log tcp from 127.0.0.1/32 to 127.0.0.1/32 3306 in

$IPF 350 allow udp from any to any 53 in
$IPF 351 allow tcp from any to any 53 out
$IPF 352 allow tcp from any to any 80 in
$IPF 353 allow tcp from any to any 80 out
$IPF 361 allow tcp from any to any 443 in
$IPF 362 allow tcp from any to any 443 out
$IPF 363 allow tcp from any to any 22 in
$IPF 364 allow tcp from any to any 22 out

$IPF 1000 deny log all from any to any

Кроме того: у меня появилась эта проблема после обновления до FreeBSD 10.3 (9.2 ранее).

В чем проблема?

1 ответ

Решение

Я не использую IPv6, но замечаю от /etc/rc.firewall а также /etc/protocols что ICMP имеет другое символическое имя для IPv6, которое ipv6-icmp, Если вам нужно передать IPv6 ICMP-пакеты, вы можете добавить новое правило:

allow ipv6-icmp ...

Я не понимаю ваши существующие правила, и вы, возможно, расстались in а также out правила для целей диагностики, но:

allow tcp from any to any xxx in
allow tcp from any to any xxx out

Похоже (если не эквивалентно) на:

allow tcp from any to any xxx

Кроме того, все ваши out правила в любом случае имеют приоритет перед правилом 270.

Если вашему серверу нужно использовать службу имен, вам не хватает правила, разрешающего ответы с удаленного DNS-сервера по UDP:

allow udp from any 53 to any
Другие вопросы по тегам