Иста подмрежа на двата краја: мапирајте ја далечната LAN на слободен опсег
Мапирањето адреси на страната на клиентот може да претстави преклопена далечна LAN под слободен опсег, но само некои клиенти го применуваат и повратната патека сепак мора да постои.
Домот и канцеларијата и двете користат 192.168.1.0/24, па барањето до 192.168.1.1 има два можни одговори и клиентот избира еден без да праша. Пренумерирањето на работна канцелариска мрежа ретко е популарно, а адресите на рутерот често се вградени во печатачи, камери и документација. Мапирањето адреси на страната на клиентот може наместо тоа да ја претстави далечната мрежа под слободен опсег, а делот за домаќин може да остане ист, така што 192.168.1.20 се појавува како 10.203.41.20. Проблемот е што само некои клиенти го применуваат и што не прави ништо за повратната патека.
Два погледа на истиот домаќин
Мапирањето го задржува делот за домаќин и го менува само мрежниот дел. Истата машина тогаш одговара на две адреси зависно од тоа каде стоите. Запишувањето на двете колони пред да конфигурирате нешто спречува подоцнежно погрешно читање на дневниците и правилата на огнениот ѕид.
| The application dials | The remote device is |
|---|---|
| 10.203.41.1 | 192.168.1.1 |
| 10.203.41.20 | 192.168.1.20 |
Локалните уреди дома ги задржуваат своите 192.168.1.x адреси, и тоа е поентата на вежбата. Печатачот во соседната соба останува достапен додека канцеларијата се појавува под опсег што не се преклопува.
Редоследот на аргументите е целиот трик
Опцијата прима насока, мрежа и маска, и алијас: првата мрежа е она што го гледа клиентот, алијасот е она што го гледа серверот. За ресурси што живеат зад далечната порта, насоката е формата на одредиштето. Заменувањето на двете мрежи затоа што последниот аргумент се вика алијас е грешката што создава тунел што се поврзува и не мапира ништо.
push "route 10.203.41.0 255.255.255.0"
push "client-nat dnat 10.203.41.0 255.255.255.0 192.168.1.0"
Рутата е она што ги праќа пакетите на клиентот за новиот опсег во тунелот; преводот го препишува одредиштето по патот. Одговорот од 192.168.1.20 се препишува назад на 10.203.41.20 за да остане сокетот на клиентот конзистентен. Еден домаќин работи исто со маска со полна должина, се додека рутата и мапирањето го опишуваат истиот адрес.
Ова е мапирање адреси, не мапирање порти. Две услуги на еден домаќин не можат да се разделат со него, а протоколот што вградува IP адреси во својот товар сепак ќе ги види вистинските.
Мапирањето не создава повратна патека
Преводот се случува кај клиентот, па серверот сепак мора да ги рутира одговорите во тунелот и неговиот огнен ѕид сепак мора да ги дозволи. Ако далечната порта не знае како да стигне до подмрежата на тунелот, барањето пристигнува, а одговорот излегува низ погрешната врата; мапирањето само го прави дефектот да изгледа како проблем на клиентот.
Правилата на страната на серверот треба да ги опишуваат адресите што постојат на серверот по преводот, не опсегот видлив за клиентот. Копирањето на алијасот во правило за дозвола троши едно попладне, зашто ниту еден пакет на таа страна не го носи.
Изберете опсег на алијас што не се преклопува со ништо друго што клиентот го рутира: друга VPN, контејнерска мрежа, втора канцеларија. Преклопувањето овде пак ја воведува првобитната двосмисленост под друг број и потешко се забележува зашто адресите изгледаат непознати.
Имињата и товарите го преживуваат преводот
Името на домаќинот што се решава на вистинскиот 192.168.1.20 го праќа прелистувачот на локалниот уред наместо на далечниот, што и да вели табелата за рутирање. Одговорот на приватниот DNS мора да покажува на опсегот видлив за клиентот, додека TLS сертификатот продолжува да го носи името што го очекува апликацијата. Тестирајте со името, а не со адресата, зашто адресата може да работи додека името тивко се решава во погрешна насока. Кога далечната порта ја служи и таа зона, и нејзините сопствени записи го бараат опсегот видлив за клиентот.
Пренасочувањата, вградените URL и апликациите што ја даваат сопствената адреса во товар можат да се расипат на начини што ниту едно мапирање пакети не може да ги поправи. Третирајте ги како проблем на апликацијата и соодветно измерете го трудот пред да ветите дека пренумерирањето не е потребно.
Три проверки пред обврска
Прво, потврдете ја имплементацијата на клиентот. Community OpenVPN ја поддржува оваа опција; кодната база на OpenVPN 3 ја наведува меѓу неподдржаните функции, па профилот испратен до клиент во стил Connect може едноставно да ја игнорира. Директива што се прифаќа и никогаш не се применува е полоша од грешка, зашто тунелот изгледа здрав.
Второ, проверете ја рутата и преводот одделно со кратко дијагностичко прозорче при висока подробност, а потоа тестирајте ја вистинската услуга наместо ping. Трето, потврдете дека локалниот рутер и далечниот ресурс остануваат препознатливи од клиентот, зашто тоа беше првобитната цел.
Ако клиентот не може да го изврши преводот, побарајте помош од страната на портата или прифатете пренумерирање. Додавањето повеќе рути за истиот адрес не е дизајн.