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

:: список драгоценных камней -remote :: конфигурация iptables

Как только я заблокировал свой VPS-сервер с помощью iptables, что означает, что у меня открыто только несколько выбранных портов для доступа к вводу, моя команда Gem перестала работать, и я не уверен, что делаю не так.

Это двоякий вопрос.

1-й. Это команда, запускаемая из командной строки для Gem.

gem list -r

Раньше он отображал список удаленных гемов, доступных для установки, теперь он зависает, если я снова не открою все порты через iptables. Я читал в нескольких местах, чтобы открыть порт 443, но примеры, которые я видел, были для меня совершенно чужды, и то, что я пытался извлечь из них, не сработало. Так у кого-нибудь есть идеи? Вот результат моих настроек iptables.

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1      193 14308 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
2        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
3        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:81
4        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:82
5        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8080
6        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8090
7        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443
8       28  2214 LOGGING    all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 154 packets, 16540 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain LOGGING (1 references)
num   pkts bytes target     prot opt in     out     source               destination         
1       28  2214 LOG        all  --  *      *       0.0.0.0/0            0.0.0.0/0            LOG flags 0 level 4 prefix "IPTables Dropped"
2       28  2214 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           

Вторая часть моего вопроса заключается в том, как при отсутствии документации узнать, к каким IP-адресам и портам обращается программа, такая как gem, в данном случае? Я надеюсь, что есть какая-то программа, в которой я мог бы ввести аналогичную команду, как показано ниже:

sandbox-wrap 'gem list -r'

И следите за отображением информации о доступе в Интернет на экране.


Спасибо Иэн за ответ на вопрос. Для остальных, вот копия нового iptables с исправлением. Я добавил новую строку в позицию номер 1 таблицы фильтров, цепочку INPUT.

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1        7   488 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
2      700 50592 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
3        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
4        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:81
5        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:82
6        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8080
7        0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:8090
8        1    40 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:443
9       83  6958 LOGGING    all  --  *      *       0.0.0.0/0            0.0.0.0/0           

В соответствии с настройками, я думаю, ваша основная проблема - это DROP в конце цепочки LOGGING. Он отбрасывает все пакеты, которые до него доходят. Команда gem будет использовать случайный эфемерный порт для подключения к удаленной системе. Пакеты будут возвращены ему, и, поскольку вы не разрешаете пакетам только явные порты в вашей цепочке INPUT, вы блокируете их с помощью DROP.

Это нормально разрешать связанные / установленные соединения, добавляя это в начале цепочки INPUT.

iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

Это позволит принимать пакеты, связанные с исходящим соединением с гемом.