nginx бузулганга чейин OpenVPN SNAT эрежесинин чегин белгилеңиз
Кардарлар аутентификациядан өтөт, бирок эч нерсе маршрутталбайт, же VPN көтөрүлгөндөн кийин сайт кулайт. tun жеткиликтүүлүгүн текшерип, анан котормону pool жана бир интерфейс менен чектеңиз.
Бир типтеги хосттон эки бузулуу дайыма келет. Биринчисинде кардарлар аутентификациядан өтүп, анан туннелден тышкары эч нерсеге жетпейт. Экинчисинде VPN көтөрүлөт жана сервердин өз сайты жооп берүүнү токтотот, бул тынчсыздандырат, анткени жанындагы зыянга окшош. Контейнерге негизделген VPSте экөө тең адатта ошол эле кыска текшерүү тизмесине кайтат, жана тартип маанилүү: адегенде түзмөк, экинчи котормо, үчүнчү чеп.
Контейнер tun түзмөгүн түзө аларын ырастаңыз
Туннель интерфейси жашай албаса, башка эч нерсе маанилүү эмес. /dev/net/tun бар экенин жана сынак түзмөгүн түзүү ийгиликтүү болорун текшериңиз, анткени көп провайдерлер контейнерлердин ичинде tun’ды демейки боюнча өчүрөт. Эч качан түзүлбөгөн түзмөктү эч бир firewall иши ордун толтура албайт.
Эгер түзмөк жок болсо, аны хост же провайдер гана иштете алат. Башка план бир жумага созулган ачык колдоо жибинен арзаныраак болушу көп. OpenVPN журналынын бир сапты окуудан мурун муну ырастаңыз. Болбосо кечти эч качан пакет көрбөй турган эрежелерди жөндөөгө жумшайсыз.
Бул интерфейсте MASQUERADE эмне кыларын чечиңиз
Кадимки виртуалдык машинада адаттагы чыгуу эрежеси негизги интерфейстен POSTROUTING MASQUERADE болот. OpenVZ контейнеринде көрүнгөн түзмөк көп учурда venet0, башкача айтканда хост башкарган виртуалдык интерфейс, маршрутталган тармактык карта эмес, жана MASQUERADE ал жерде окуу китептери күткөндөй дайыма иштебейт.
Иштөөчү форма — кардарлар мурун эле жеткен дарекке так котормо, эки багытта тең өткөрүүгө уруксат берилген. Сервер конфигурациясынан pool’ду алмаштыруу даректи алмаштыруу сыяктуу эле маанилүү. Ар бир сапты койгонго чейин окуңуз.
iptables -t nat -A POSTROUTING -o venet0 -s 10.8.0.0/24 -j SNAT --to-source 203.0.113.10
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -A FORWARD -o tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPTӨткөрүү эрежелери жок болсо, котормо дагы эле болот жана ядро дагы эле өткөрүүдөн баш тартат. Бул айкалыш NAT эрежесинин эсептегичтери өсүп жатканда кардар эч нерсе албаган баш аламан абалды жаратат. Эки FORWARD сабы да ошол чынжырдагы каалаган кең drop эрежесинен мурун турушу керек. Тартип конфигурациянын бөлүгү, ишке ашыруу деталы эмес.
Эрежени бир pool жана бир интерфейс менен чектеңиз
Экинчи симптомдун себеби башка: булак да, чыгуу да чектелбеген POSTROUTING эрежеси. Мындай эреже хосттон чыккан ар бир пакетти кайра жазат.
Баштапкы булакка көз каранды кызматтар андан кийин туура эмес иштейт. Жергиликтүү проксинин артындагы веб-сервер жооп берүүнү токтотушу мүмкүн, жана аны кайра иштетүү эч нерсени өзгөртпөйт, анткени эреже дагы эле жолдо. Хосттун өзүнүн коомдук дарегине жиберген трафиги да жабыркайт, ошондуктан бузулуу firewall эмес, DNS же сертификат маселеси болуп көрүнүшү мүмкүн. Эреже биринчи симптомду оңдоо үчүн кошулган болушу дээрлик анык.
Чечим — дал келүүнү туннель pool’уна жана чыгуу интерфейсине куушуруу, анан бир нечени камтуу үчүн бир эрежени кеңейтүүнүн ордуна ар бир pool үчүн бир эреже кошуу.
Эрежелерди туруктуу кылып, аларды дагы ким ээлей турганын аныктаңыз
Кол менен кошулган эрежелер кайра жүктөөдө жоголот, ошондуктан аларды iptables-save аркылуу сактаңыз же орнотулган жерде netfilter-persistent аркылуу башкарыңыз. Калыбына келтирүү OpenVPN башталганга чейин иштешин ырастаңыз. Анан кемтикти окуя учурунда табуунун ордуна бир жолу атайын кайра жүктөңүз.
Контейнер хостуунда туруктуулук файлы жазылуучу контейнер кампасында экенин жана провайдер жүктөөдө фильтрлөөнү алмаштырбасын ырастаңыз. Айрым платформалар саясатты контейнерден тышкары башкарат, ал жерде жергиликтүү эрежелер же этибарга алынбайт, же хосттун өз эрежелери менен кагышат.
Эсептегичтер жана бир жазылган агым менен текшериңиз
Туташкан кардардан тышкы кызмат билдирген коомдук даректи текшериңиз. Эгер ал сервердин дарегине дал келсе, котормо иштейт; дал келбесе, пакет башка жол менен чыгат же такыр чыкпайт. Анан серверде жайгашкан кызматты да, коомдук интернеттеги кызматты да сынап көрүңүз, анткени алар бир эле эрежелер топтому аркылуу ар башка жолдор менен өтөт.
Серверде NAT жана FORWARD эрежелериндеги пакет эсептегичтерин iptables -t nat -L -v -n аркылуу окуп, жазууда бир агымды байкаңыз. Эгер жазууда кардардын дареги көрүнүп, жооп келбесе, кемтик кайтаруу жолунда же провайдердин фильтрлөөсүндө, кардардын профилинде эмес. Жазылган булакты эреже которгон дарек менен салыштырыңыз, анткени дал келбөө мурун башка эреже дал келгенин билдирет. Бир байкалган агым конфигурацияны окуунун бир бетине караганда көбүрөөк нерсени чечет.
Pool’ду, которулган даректи жана интерфейстин атын өзгөрүүлөр жазуусунда чогуу кармаңыз. Бир pool үчүн туура эреже кийинкисин туура эмес которот.