Поиск:

Организация VPN-сети (часть пятая)

Думаю, не стоит подробно останавливаться на вопросах установки ОС. Поставьте компоненты базовой системы и набор сетевых служб на ваш выбор (зависит от того, что вы планируете ставить на маршрутизатор в дальнейшем). Графические оболочки нам не понадобятся, поэтому смело убирайте галочки с соответствующих пунктов в списке компонентов для установки. Средства разработки ставьте, если планируете собирать RPM-пакеты и специфический софт из исходников.

Конфигурация маршрутизатора в основном филиале (подсеть с точкой агрегации) и в дочерних различается незначительно, поэтому сначала рассмотрим моменты, общие для всех.


Отключаем службы

Полагаю, что для маршрутизаторов вы взяли не самые быстрые машины, для повышения производительности (и уровня безопасности, заодним) желательно отключить неиспользуемые службы в свежеустановленной ОС.

Чтобы не повторяться, краткое описание имеющихся служб в RHEL/Fedora можно найти здесь. Руководство по управлению службами и уровнем запуска («runlevel») доступно здесь. Конфигурирование служб проще всего произвести через псевдографический интерфейс (утилита «setup»).


Настраиваем сетевые параметры

На нашем маршрутизаторе стоят две сетевые карты (см. ранее). Назначаем IP-адреса сетевым интерфейсам. Например, интерфейс «eth0» может быть использован для соединения с сетью провайдера, а «eth1» будет «смотреть» в локальную сеть филиала.

Снова смотрим на общую схему филиалов (приведена ранее во второй части данных заметок):


Взглянем на отдельный сегмент VPN-сети, на примере головного филиала (WAN-сеть 10.0.0.0/30, локальная сеть 192.168.0.0/24):

Конфигурация сетевых интерфейсов маршрутизатора будет такой:

Файл /etc/sysconfig/network:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=gateway1.yourcompany.com
GATEWAY=10.0.0.1

Файл /etc/sysconfig/network-scripts/ifcfg-eth0:

DEVICE=eth0
BOOTPROTO=static
BROADCAST=10.0.0.3
HWADDR=00:XX:XX:XX:XX:XX
IPADDR=10.0.0.2
NETMASK=255.255.255.252
NETWORK=10.0.0.0
GATEWAY=10.0.0.1
ONBOOT=yes

Файл /etc/sysconfig/network-scripts/ifcfg-eth1:

DEVICE=eth1
BOOTPROTO=static
BROADCAST=192.168.0.255
HWADDR=00:XX:XX:XX:XX:XX
IPADDR=192.168.0.1
NETMASK=255.255.255.0
NETWORK=192.168.0.0
GATEWAY=192.168.0.1
ONBOOT=yes


Настраиваем файервол

Задаем максимально ограничивающие правила файервола.

Файл /etc/sysconfig/iptables:

# -- NAT table --
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
 
# -- FILTER table --
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp --icmp-type echo-reply -j ACCEPT
-A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT
-A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
-A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
-A INPUT -p tcp ! --syn -m state --state NEW -j DROP
-A INPUT -i eth1 -m state --state NEW -p udp -d 192.168.0.255 -j DROP
-A INPUT -m state --state NEW -p udp -d 255.255.255.255 -j DROP
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
#
-A INPUT -j LOG --log-prefix "IPTABLES-IN Default Drop: " --log-level 7
#
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
#
-A FORWARD -j LOG --log-prefix "IPTABLES-FWD Default Drop: " --log-level 7
COMMIT

Активируем новые правила:

[root@gateway1 ~]# /etc/init.d/iptables restart


Проверяем результат

Перезапускаем службу сети …

[root@gateway1 ~]# /etc/init.d/network restart

… и включаем поддержку роутинга на маршрутизаторе:

[root@gateway1 ~]# echo "1" > /proc/sys/net/ipv4/ip_forward

(неплохо было бы добавить эту строчку в файл /etc/rc.local, чтобы поддержка маршрутизации активировалась сразу при загрузке ОС).

Подключаем WAN-порт маршрутизатора к Ethernet-порту модема и с консоли проверяем доступность ближайшего шлюза провайдера:

[root@gateway1 ~]# ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=255 time=6.74 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=255 time=4.85 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=255 time=5.02 ms
64 bytes from 10.0.0.1: icmp_seq=4 ttl=255 time=3.72 ms

--- 10.0.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2998ms
rtt min/avg/max/mdev = 3.727/5.087/6.746/1.081 ms
[root@gateway1 ~]#

Если «ping» к шлюзу успешен, ваш маршрутизатор подключен к сети IP VPN.

Остальные маршрутизаторы настраиваются аналогично, согласно заявки, поданной провайдеру. По мере подключения филиалов и установки в них оборудования, вы также можете проверять их доступность (т.е., любой маршрутизатор и шлюз удаленной сети должны ping-оваться с любого маршрутизатора вашей VPN-сети).


Организация VPN-сети (часть четвертая)

Организация VPN-сети (часть шестая)

Обсуждение



 
© 2009–2013 Денис Фатеев (Danger)
Копирование контента без указания автора преследуется сотрудниками ада.
Recent changes RSS feed
Valid XHTML 1.0
Valid CSS