PiVPN кол алышуусу иштейт, барактар тыгылат: MASQUERADE текшериңиз
Кол алышуу бүтөт, бирок барактар тыгылат? Сакталган MASQUERADE эрежеси туура эмес жогорку каналды көрсөтөт. NAT таблицасын окуп, интерфейсти оңдоп, анан эсептегичтер менен далилдеңиз.
Телефонуңуз туннелди туташкан деп көрсөтөт, кардар жеке даректи билдирет, бирок биринчи барак жүктөөнүн ортосунда илинип турат. Бул айкалыш көпчүлүктү шифр жөндөөлөрүнө жана процессордун температурасына жөнөтөт, бирок чындыгында ал жерде эч нерсе бузулган эмес. Туннель көтөрүлдү, демек сүйлөшүү бүттү; ийгиликсиз болгону кийинки кадам, сервер кардардын пакеттерин интернетке өткөрүп берүүгө аракет кылганда. Ошол пакеттер жүргөн жол менен жүрүңүз, жана дал келбестик адатта NAT таблицасынын бир сапта көрүнөт.
Кардар эмнеге жете аларынан жана жете албастыгынан баштаңыз
Туташкан кардардан коомдук интернетте жайгашкан баракты жүктөп, анын дароо ийгиликсиз болорун же ортосунда илинерин белгилеңиз. Анан VPN серверинин өзүнүн жеке дарегиндеги ресурсту ачып, эки жыйынтыкты салыштырыңыз.
Ping-ге жооп берген, бирок коомдук сайттардын убактысы бүткөн туннель дареги — бул багыттоо же которуу маселесинин белгиси, бузулган кол алышуунун эмес. Кардардын өзүнүн статус панели аларды ажырата албайт, анткени ал башкаруу каналынын көтөрүлгөнүн гана билет. Серверде туннель интерфейсин ушундай текшериңиз: ip -br addr show tun0 жана кардарга берилген дарек сиз конфигурациялаган пулдун ичинде экенин ырастаңыз. Эгер пул менен кардардын дареги дал келбесе, аны биринчи оңдоңуз, анткени төмөнкү ар бир эреже пулга дал келет.
Андан кийин серверден коомдук дарекке жетүү үчүн кайсы интерфейсти колдонорун сураңыз. ip route get 203.0.113.9 биринчи сабында тандалган түзмөктү жана булакты басып чыгарат. Ошол түзмөктүн атын жазып алыңыз, анткени NAT эрежесинде так ушул маани болушу керек.
Пакеттердин чыгарын чечкен эрежени окуңуз
MASQUERADE пакетти эрежеде аталган интерфейс аркылуу чыкканда гана кайра жазат. Зымдуу түзмөккө чектелген эреже Wi-Fi аркылуу чыккан трафик үчүн эч нерсе кылбайт, жана пакет жогорку роутерге чейин жеке булак дарегин сактап турат. Ал роутердин сиздин туннель пулуңузга кайтуучу жолу жок, ошондуктан ал жоопту таштап салат, жана кардар ачылып, анан өлгөн туташууну көрөт. Симптом барактын биринчи жооп керек болгонго чейин канча бөлүгү келерине жараша өсөт.
Тирүү таблицаны тизип, MASQUERADE деген сөздү гана издегендин ордуна чыгуучу интерфейс тилкесин окуңуз. Кошуу формасындагы чыгарылыш форматталган тизмеден салыштырууга оңой:
ip -br addr show tun0
ip route get 203.0.113.9
sudo iptables -t nat -S POSTROUTING
Бир кезде Ethernet, азыр Wi-Fi колдонгон Raspberry Pi'де эскирген ат дээрлик дайым бүт окуя. Орнотуучу жөндөө учурунда кайсы түзмөк болгонун жазып алган, жана сакталган эрежелер жыйындысы аны ар бир жүктөөдө кайра ойнотот. Башка нерсени өзгөртүүдөн мурун маршрут издөөдөн чыккан түзмөктү эрежедеги түзмөк менен салыштырыңыз. Эгер алар дал келсе, интерфейс сиздин маселеңиз эмес жана акыркы бөлүмдөгү эсептегичтерге өтүшүңүз керек. Эгер алар айырмаланса, оңдоо — туруктуулук файлындагы бир сөздү редакциялоо.
Сакталган эрежелер жыйындысын оңдоңуз, иштеп жатканын гана эмес
Тирүү таблицаны гана редакциялоо кийинки кайра жүктөөгө чейин сакталат, бул маселенин чечилгенине ишендирүү үчүн так жетет. Жүктөөдө кайтып келген эрежелер өрт дубалдын туруктуулук пакети кайра жүктөгөн файлда жашайт. Debian негизиндеги Pi образдарында ал файл адатта /etc/iptables/rules.v4.
Ага тийүүдөн мурун көчүрмө алыңыз, анан MASQUERADE сабындагы чыгуучу интерфейсти жазып алган түзмөк менен алмаштырыңыз, мисалы -o wlan0 ордуна -o eth0. Кардар пулуңуз өзгөрбөсө, булак диапазонун ошол бойдон калтырыңыз. Кайра жүктөп, эреженин эми туура түзмөктү атаарын ырастаңыз:
sudo cp /etc/iptables/rules.v4 /root/rules.v4.bak
sudo iptables-restore < /etc/iptables/rules.v4
sudo iptables -t nat -L POSTROUTING -v -n
Кошуна эки жөндөөнү унутуу оңой. sysctl net.ipv4.ip_forward 1 деп билдириши керек, жана жогорку роутер жеке булак даректерин өзү чыпкалабашы керек.
Эреженин иштээрин далилдеңиз, анан дагы эмне жай экенин бөлүп алыңыз
Эсептегичтер эреженин дал келгенинин жалгыз чынчыл далили. Кенен тизмени иштетиңиз, кардарда жүктөөнү баштаңыз жана дагы иштетиңиз. Эрежеңиздин жанындагы пакет жана байт тилкелери өсүшү керек, ал эми нөлдө калган эреже дагы эле дал келбейт. Эгер эсептегичтер кыймылдаса да барактар дагы ийгиликсиз болсо, булак диапазонун чыныгы пул менен ушундай салыштырыңыз grep -n "^server " /etc/openvpn/server.conf. Эгер алар кыймылдап, барактар жүктөлсө, бирок өткөрүү жөндөмү начар болсо, которуу бүттү, ал эми калган маселе башка жерде.
Бир кардардан эки өткөрүүнү салыштырыңыз: бири жергиликтүү тармактагы хостко, экинчиси туннель аркылуу ошол эле хостко. Эки учурда тең жай болуу VPN'ге эмес, Pi'нин жогорку каналына же Wi-Fi байланышына көрсөтөт. Туннель аркылуу гана жай болуу MTU жана кайра жөнөтүүлөргө көрсөтөт, аларды ушундай карап чыксаңыз болот ip -s link show tun0 кандайдыр бир крипто жөндөөсүн өзгөртүүдөн мурун.
Экспериментти жокко чыгаруу үчүн көчүрмөнү калыбына келтирип, кайра жүктөңүз, анан баштапкы эреже жана анын эсептегичтери кайтканын ырастаңыз. Чыгуучу түзмөктү жана кайра жүктөө буйругун сервер жазууларына жазыңыз, анткени кийинки жогорку канал өзгөрүүсү ошол эле дал келбестикти кайра ачат. Туура эмес түзмөктү атаган эреже трафик ага муктаж болгонго чейин көрүнбөйт.