Назад | Перейти на главную страницу

iptables блокирует туннель ssh

Сервер: Сервер Ubuntu 10.04 LTS

У меня заблокированы iptables, поэтому разрешен только трафик ssh и http. Я пытаюсь туннелировать пример sql: ssh -L 3306: 127.0.0.1: 3306 my@domain.com он отлично работает, если я установил для своего INPUT значение РАЗРЕШИТЬ, но, как вы можете видеть ниже, он сбрасывается, поэтому мои порты заблокированы. Я предполагаю, что это просто правило, которое мне нужно добавить, но все, что я нашел в Google, не удалось. Идеи?

iptables.up.rules

*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [57:4388]
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-port-unreachable
COMMIT

терминальный выход

xxx@xxx:/etc# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www
ACCEPT     icmp --  anywhere             anywhere            icmp any

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Вам необходимо разрешить получение пакетов через loopback:

-A INPUT -i lo -j ACCEPT

Вы можете несколько ужесточить правило, убедившись, что пакеты, поступающие через loopback, также имеют адрес loopback:

-A INPUT -d 127.0.0.1/32 -i lo -j ACCEPT