1

Проще говоря: я не могу получить доступ к своим серверам с включенным iptables, с правилами по умолчанию. Нужно отключить iptables, чтобы получить доступ. Пытаюсь найти причину. Единственным отличием в типе настройки является коммутатор layer3 вместо layer2, но он не настроил коммутатор layer3 каким-либо иным способом, кроме включения IP-маршрутизации (никаких тегов / разметок не было сделано ни в одной VLAN). Если бы я понял, почему пакеты были заблокированы, я бы определенно попытался прояснить свой вопрос! ;)

Больше информации по этому вопросу:

Возникли проблемы с новой минимальной установкой CentOS 6.5 и iptables. Это новое местоположение центра обработки данных, которое я пытаюсь подготовить, чтобы некоторые серверы были подключены к сети, но пока не могу. iptables, по-видимому, отбрасывает легитимные пакеты, если только не существует определенного правила, позволяющего пропускать этот определенный IP (не идеально для веб-серверов). Мы используем OpenVZ и устанавливаем cPanel внутри узла VPS, а также csf firewall. Все параметры на узле настроены правильно, как и другие мои рабочие серверы в других центрах обработки данных, поэтому это не проблема модуля iptables.

После установки большого количества других серверов без проблем в прошлом, в других DC, единственное отличие здесь - это (конечно) другой провайдер, а также тот факт, что я использую коммутатор Layer3 (Baystack 5510) вместо Layer 2 переключателя. Я не уверен, является ли это причиной проблемы или нет, тестирование напрямую подключено к интернет-провайдеру завтра, когда у меня будет доступ.

Может ли это быть связано с неправильной настройкой переключателя layer3? По сути, у меня есть кабель Ethernet провайдера, подключенный к порту 48, и мой сервер подключен к портам 1 и 2 (bond0), пытался использовать только по умолчанию eth0. Конфиги по умолчанию, единственная разница в том, что у меня включена IP-маршрутизация, чтобы я мог добавить другие IP-подсети позже. Я не установил ЛЮБУЮ пометку / разметку, о которой сейчас немного читаю, но может ли это быть причиной того, что iptables помечает / отбрасывает эти пакеты?

Это базовая установка, которая, по-видимому, блокирует пакеты по умолчанию с правилами iptables CentOS, или, по крайней мере, когда я переключился на ядро OpenVZ, мне пришлось поехать на DC, чтобы получить физический доступ и сделать «остановка служб iptables» и «отключение chkconfig iptables» до предотвратить потерю дальнейшего доступа.

В основном порты открываются в iptables, но я все еще не могу получить доступ к серверам с запущенными iptables. Пробовал это на 2 серверах, свежей и минимальной установке CentOS 6.5. Я запустил Wireshark & tcpdump для захвата сетевых следов на обоих концах во время этого процесса. Это первый пакет, в котором пакет [SYN] пытается инициировать сеанс TCP на порте 80, который открывается в iptables. Этот пакет не получает ответ ([SYN ACK]), но вместо этого проходит через TCP-повторную передачу снова и снова, но он принимается на стороне сервера, но отбрасывается либо с помощью TCP_IN Blocked, либо UDP или OUT, либо с неверным пакетом:

Клиентская сторона (мой ПК): 77 4.434317000 192.168.2.244 SERVER-IP TCP 66 63866> http [SYN] Seq = 0 Win = 8192 Len = 0 MSS = 1460 WS = 4 SACK_PERM = 1

Сторона сервера (tcpdump сервера) 1 0,000000 MY-ISP-IP SERVER-IP TCP 68 61992> http [SYN] Seq = 0 Win = 8192 Len = 0 MSS = 1452 WS = 4 SACK_PERM = 1

Вот недопустимый пакет: ядро: [16708.550424] Брандмауэр: INVALID IN = venet0 OUT = MAC = SRC = MYIP DST = SERVERIP LEN = 48 TOS = 0x00 PREC = 0x00 TTL = 112 ID = 12281 DF PROTO = TCP SPT = 60992 DPT = 80 ОКНО = 8192 RES = 0x00 SYN URGP = 0

Вот заблокированный пакет порта 21 (также открытый): kernel: [20604.837769] Брандмауэр: TCP_IN заблокирован IN = venet0 OUT = MAC = SRC = MYIP DST = SERVERIP LEN = 48 TOS = 0x00 PREC = 0x00 TTL = 112 ID = 15851 DF PROTO = TCP SPT = 61742 DPT = 21 ОКНО = 8192 RES = 0x00 SYN URGP = 0

1 ответ1

0

Это выглядит как проблема в конфигурации OpenVZ, в основном , связанные с state особенностью Netfilter.

Убедитесь, что в вашем /etc/vz/vz.conf IPTABLES_MODULE содержит ipt_state . Это важно для старых версий vzctl, но лучше быть в безопасности, чем потом сожалеть:

## IPv4 iptables kernel modules to be enabled in CTs by default
IPTABLES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_state"
## IPv4 iptables kernel modules to be loaded by init.d/vz script
IPTABLES_MODULES="$IPTABLES"

Кроме того, в каждом из ваших /etc/vz/conf/*.conf , если поддерживается NETFILTER , он должен быть установлен в stateful:

NETFILTER="stateful"

Этот новый параметр конфигурации NETFILTER был добавлен в последнее время. Возможно, поэтому вы нигде не слышали об этом. Вы можете увидеть коммит здесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .