У меня есть сервер Ubuntu 8.04 с установленным shorewall 4.0.6. Когда я пытаюсь загрузить файлы с помощью FTP, SCP или cURL, загрузка файла останавливается почти сразу и в конечном итоге истекает. Если я отключу shorewall, загрузка будет работать нормально. У меня нет никаких правил, которые конкретно разрешают FTP, и я не слишком этим озабочен, но мне нужно иметь возможность загружать через 22 (SCP) и 80 и 443 (cURL).
Вот как выглядят мои правила:
COMMENT Allow Server to respond to any web (80) and SSL (443) requests
ACCEPT net $FW tcp 80
ACCEPT $FW net tcp 80
ACCEPT net $FW tcp 443
ACCEPT $FW net tcp 443
COMMENT Allow Server to respond to SNMPD (161) requests
ACCEPT net $FW udp 161
COMMENT Allow Server to respond to MySQL (3306) requests (for MySQL Graphing)
ACCEPT net $FW tcp 3306
COMMENT Allow Server to respond to any SSH connection attempts, and to SSH out.
SSH/ACCEPT net $FW
SSH/ACCEPT $FW net
COMMENT Allow Server to make DNS Requests out.
DNS/ACCEPT $FW net
COMMENT Default "close" anything else.
Ping/REJECT net $FW
ACCEPT $FW net icmp
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Я ожидал четверку лучших ACCEPT
линий, чтобы разрешить входящий и исходящий трафик более 80 и 443, и я ожидал, что два SSH/ACCEPT
линий, чтобы разрешить входящий и исходящий трафик более 22, включая SCP.
Любая помощь приветствуется.
/ etc / shorewall / policy содержит следующее (все строки выше закомментированы):
#
# Allow all connection requests from teh firewall to the internet
#
$FW net ACCEPT
#
# Policies for traffic originating from the Internet zone (net)
# Drop (ignore) all connection requests from the Internet to the firewall
#
net all DROP info
# THE FOLLOWING POLICY MUST BE LAST
# Reject all other connection requests
all all REJECT info
#LAST LINE -- ADD YOUR ENTRIES ABOVE THIS LINE -- DO NOT REMOVE
FTP не будет работать с этими правилами, пока вы не разрешите это явно (если вместо этого у вас есть разрешающая политика, которая сделает эти правила бессмысленными).
Кажется, что ваши правила разрешают SSH, HTTP и HTTPS, но вы можете проверить свои файлы журнала или захватить трафик, чтобы убедиться в этом.
По указанному вами симптому (запускается, а затем глохнет), я думаю, что ваш TCP MSS может быть неправильно настроен. См. Свой файл shorewall.conf и проверьте параметр CLAMPMSS. Вы можете попробовать зажать его низко и посмотреть, исчезнет ли проблема.
Изменить: я вижу в вашем файле политики, что вы разрешаете весь исходящий трафик, поэтому Shorewall не должен быть причиной вашей проблемы. Проблема не исчезнет после очистки Shorewall? (все ясно).
Пожалуйста, убедитесь, что нет формирователь трафика работает (возможно, шортволл запускает один). Вы можете проверить это, запустив tc qdisc show dev eth0
. Если активный формирователь не активен, возможно, на выходе будет
iptables -Lnv
iptables -Lnv -t mangle