Pi VPN со повеќе рутери: ставете ја секоја рута на уредот што одлучува
Долен рутер додава втора клиентска подмрежа, и секој од четирите уреди има една одлука. Поставете ги рутите, проверете го изворот, па тестирајте од вистински клиент.
Ставањето Wi-Fi кутија зад Pi претвора една рутирачка одлука во четири, а планот се крши кога сите четири се донесуваат на еден уред. Првото прашање не е која рута да се додаде. Туку дали новата кутија прави мост или рутира, бидејќи тој одговор одредува колку подмрежи постојат и кои уреди мора да научат за нив. Прво изберете го моделот на поврзување; секоја рута произлегува од него.
Мост или рутирање: изборот што го одредува бројот
Мостот ги става новите клиенти во истата подмрежа што Pi веќе ја опслужува. Една подмрежа, еден DHCP авторитет и никакво предавање за рутирање. Ова е поедноставен распоред и вистинскиот кога одделна клиентска мрежа никогаш не била барање. Рутирана врска е различен дизајн: кутијата ја задржува својата подмрежа, и тој префикс мора да се носи насекаде каде што оди сообраќајот.
Остатокот од планот го задржува долниот рутер и ги чува изворните адреси на клиентите. Целта е една приватна VPN мрежа, а не целосен интернет излез. Запишете го моделот пред адресите, бидејќи списокот подолу е само пример за рутирано поврзување.
client subnet 10.41.0.0/24
client gateway 10.41.0.1
router-to-Pi link 192.168.71.2
Pi on that link 192.168.71.1
private target 10.72.9.0/24
Кој што одлучува
| Decision owner | Entry that encodes the decision | Failure when the entry is missing |
|---|---|---|
| Pi VPN host | Return route for 10.41.0.0/24 via 192.168.71.2, and a tunnel route for 10.72.9.0/24 | Replies to downstream clients die at the Pi |
| Owner of the remote network | A path for 10.41.0.0/24 over the permitted tunnel | Replies stop at the first unaware hop |
| LAN router behind the Pi | Specific route for 10.72.9.0/24 via 192.168.71.1, or a suitable default | Clients never send private traffic to the Pi |
| Client machine | Default via 10.41.0.1, or a specific entry for 10.72.9.0/24 | The private network is unreachable from the client |
Секој уред носи една одлука, и ниту еден не може да ја донесе одлуката на друг наместо него. На Pi му требаат два записи, не еден, а патот за враќање е оној што луѓето го забораваат. Препратениот сообраќај правилно стигнува до приватната мрежа и потоа умира на патот назад, бидејќи Pi нема поим каде живее 10.41.0.0/24. Тоа изгледа како проблем со огнено ѕид и всушност е рута што недостига.
И далечната страна и треба сопствена рута. Ако услугата на далечниот крај не знае дека 10.41.0.0/24 е достапна преку вашиот тунел, одговорите запираат на првиот скок што нема одговор. Додадете ги двата правци пред да читате филтри за пакети.
Следните скокови доаѓаат од поврзувањето
Следниот скок мора да биде адреса во мрежа до која уредот навистина може да стигне. Јавната адреса на VPN партнерот не е следниот скок за приватна подмрежа, а далечната услужна мрежа воопшто не е следен скок. Рута до недостапна порта изгледа точно во список и фрла секој пакет. Проверете дали портата одговара пред да ја обвините дестинацијата.
Држете го надворешниот VPN партнер на Pi достапен преку неговата сопствена долна рута. Тој запис е одделен од рутите за полезниот товар, а нивното мешање дава тунел што не може повторно да се воспостави по промена на патот.
Документација за статични рути ја разјаснува разликата помеѓу дестинација и порта, иако секоја платформа своите менија ги именува различно. Читајте ја документацијата за уредот пред вас наместо да копирате екран на друг производител. Командите подолу ја покажуваат формата на записите на Linux.
# on the Pi
ip route add 10.41.0.0/24 via 192.168.71.2
ip route add 10.72.9.0/24 dev tun0
# on the downstream router
ip route add 10.72.9.0/24 via 192.168.71.1
Што прави преводот со изворот
Ако долниот рутер веќе ги преведува своите клиенти на транзитната адреса, Pi гледа еден преведен извор наместо сопствената адреса на секој клиент. Тоа е поинаков дизајн од горниот што го чува изворот. Ги менува политиката заснована на извор, евидентирањето и која страна може да започне врски. Двата дизајна работат; тие одговараат на различни прашања.
Кога горна VPN услуга одбива да ја рутира клиентската префикс назад, тесен превод на излезот од тунелот на Pi може да биде легитимно привремено решение. Тоа не е доказ дека рутата што недостига била непотребна. Запишете која адреса далечната мрежа навистина ја гледа и каков пат за враќање произлегува.
Изборот на рута, дозволата за препраќање и преводот на изворот остануваат три одделни работи. Испразнувањето на заеднички NAT ланец или дозволувањето на секој интерфејс затоа што работи еден жичан клиент е начинот на кој работен тест станува отворен препраќач.
Докажете го од клиентска машина
Испратете барање од машина во долната LAN, па следете го неговиот извор надвор и назад. Ping што го испраќа Pi никогаш не го вежба долниот пат за враќање, затоа успешниот ping докажува помалку отколку што изгледа. Додадете втор тест од жичан клиент во сопствената LAN на Pi за да можат двата пата да се споредат. Повторете ги и двата по рестартирање на кој било уред.
Рутите додадени рачно и преводите што никогаш не биле зачувани исчезнуваат заедно. Тогаш парот изгледа како нова дефект, а не како недовршена работа.
Зачувајте го моделот на поврзување заедно со рутите, дозволената приватна услуга и секој превод во една белешка. Таа белешка е тоа што го спречува следниот човек да го третира безжичното поставување како прашање на рутирачка политика.