Как получить доступ к серверу Seafile на виртуальной машине через IPtables?
Я установил Seafile-сервер 3.0.4 64bit
на Ubuntu-сервере 14.04
с настройками портов по умолчанию (т.е. 8000
, 8082
, 10001
, 12001
) но не удается получить доступ к экземпляру с клиентом.
инфраструктура
Ubuntu-server
работает как машина KVM на Gentoo
хост.
Правила Iptables
Через некоторое время я добавляю следующее Iptables
правила для хост-машины (gentoo
), что, кажется, соответствует Seafile
требования:
#Iptables-Rules for Seafile
iptables -A INPUT -p tcp -m multiport --dports 8000,8082,10001,12001 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A output -p tcp -m multiport --sports 8000,8082,10001,12001 -m state --state ESTABLISHED -j ACCEPT
Однако я все еще не могу соединиться даже с telnet
на SeaFile-сервер либо из Интернета, либо с хост-машины.
Обновление: проблема может быть связана с fail2ban
1 ответ
Решение
Поскольку я использую NAT для связи своей виртуальной машины с моим хостом, мне пришлось отредактировать следующие правила, чтобы заставить ее работать:
#Iptables-Rules for Seafile
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 10001 -j DNAT --to 192.168.8.8:10001
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 12001 -j DNAT --to 192.168.8.8:12001