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