Ssl
IPFW 拒絕 ssl 連接
我在使用諸如
fsockopen
,之類的函式通過我的 PHP 腳本載入 https 網站(google、facebook、amazon)時遇到問題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 更早版本)後開始遇到這個問題。
問題是什麼?
我不使用 IPv6,但我注意到ICMP 有一個不同
/etc/rc.firewall
的/etc/protocols
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