BASH Programming - Введение

           

Настройка IP-туннеля сеть-сеть.


Рассмотрим сеть следующей структуры:

192.168.1/24 192.168.2/24

- - | ppp0 = ppp0 = | | aaa.bbb.ccc.ddd fff.ggg.hhh.iii | | | | /-----\ /-----\ | | | | // | | | |---| A |------//---------| B |---| | | | // | | | | \-----/ \-----/ | | | - -

Эта схема демонстрирует еще один пример использования IPIP-включения -- виртуальные частные сети. В этом примере предполагается, что у Вас есть две машины с PPP-подключением к интернету. Каждой из них присвоен IP-адрес. Эти машины подключены к локальным сетям, использующим адреса из зарезервированного диапазона. Предположим, Вы хотите, чтобы машины из одной локальной сети могли взаимодействовать с машинами из другой сети, как будто они соединены непосредственно. Этого можно достичь с помощью IPIP-включения. Это решение, правда, не позволит вашим машинам из внутренних сетей обмениваться данными с другими машинами в интернете -- для этого Вам потребуется использовать другие техники вроде IP-маскарада. IPIP-включение производится на машинах A и B -- маршрутизаторах.

На машине `A' выполните команды:

#!/bin/sh PATH=/sbin:/usr/sbin mask=255.255.255.0 remotegw=fff.ggg.hhh.iii # # Настройка Ethernet ifconfig eth0 192.168.1.1 netmask $mask up route add -net 192.168.1.0 netmask $mask eth0 # # Настройка ppp0 (запуск ppp, установка маршрута по умолчанию) pppd route add default ppp0 # # Настройка устройства-туннеля ifconfig tunl0 192.168.1.1 up route add -net 192.168.2.0 netmask $mask gw $remotegw tunl0

А на машине `B' -- команды:

#!/bin/sh PATH=/sbin:/usr/sbin mask=255.255.255.0 remotegw=aaa.bbb.ccc.ddd # # Настройка Ethernet ifconfig eth0 192.168.2.1 netmask $mask up route add -net 192.168.2.0 netmask $mask eth0 # # настройка ppp0 (запуск ppp, установка маршрута по умолчанию) pppd route add default ppp0 # # Настройка устройства-туннеля ifconfig tunl0 192.168.2.1 up route add -net 192.168.1.0 netmask $mask gw $remotegw tunl0

Команда

route add -net 192.168.1.0 netmask $mask gw $remotegw tunl0

расшифровывается как `Посылать все пакеты для сети 192.168.1.0/24 внутри пакетов, передаваемых на машину по адресу aaa.bbb.ccc.ddd'

Обратите внимание, что настройка туннеля требуется с обеих сторон. Устройство-туннель использует параметр `gw' команды route для определения адреса, на который следует передавать IP-пакеты, с "завернутыми" в них пакетами, предназначенными для сети 192.168.1.0.



Содержание раздела