The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
проверить iptables настройки (Debian+OpenVPN+Squid), !*! Sculptor, 13-Май-10, 14:43  [смотреть все]
Большая просьба помочь разобраться и настроить Линух шлюзы.
Интересует конкретно настройки iptables при использовании openVPN. К сожалению не до конца понимаю сам принцип - как пакеты проходят через виртуальный интерфейс.
Да и в остальных iptables настройках я вовсе не уверен.

Необходимо соеденить две сети в разных частях города. Здесь как бы минимальные настройки - лишь бы все корректно работало - остальное я уже на рабочей системе буду блочить/проверять.

Имеется:

Debian+Squid+OpenVPN
eth0 (сетевой интерфейс)   190.40.20.160  (/24)
eth1 (локальная сеть)          20.0.0.1          (/24)
tun0 (тунель для OpenVPN)  192.168.0.1    
-----------------------------------------------------------------
192.168.0.2 -конец VPN на другом конце
190.40.20.161 сетевой вход на другом шлюзе
20.0.1.0/24 локальная сеть на другом конце


Мои предпологаемые настройки.
Сброс:

iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

Вспомогательные цепочки:

iptables -N eth0-eth1
iptables -N eth0-tun0
iptables -N eth1-eth0
iptables -N eth1-tun0
iptables -N tun0-eth0
iptables -N tun0-eth1

iptables -N eth0-in
iptables -N eth1-in
iptables -N tun0-in

iptables -N eth0-out
iptables -N eth1-out
iptables -N tun0-out


Перенаправление в соотвествующие цепочки:

iptables -A INPUT -i eth0 -j eth0-in
iptalbes -A INPUT -i eth1 -j eth1-in
iptalbes -A INPUT -i tun0 -j tun0-in

iptalbes -A OUTPUT -o eth0 -j eth0-out
iptables -A OUTPUT -o eth1 -j eht1-out
iptables -A OUTPUT -o tun0 -j tun0-out

iptables -A FORWARD -i eth0 -o eth1 -j eth0-eth1
iptables -A FORWARD -i eth1 -o eth0 -j eth1-eth0
iptables -A FORWARD -i eth0 -o tun0 -j eth0-tun0
iptables -A FORWARD -i eht1 -o tun0 -j eth1-tun0
iptables -A FORWARD -i tun0 -o eth0 -j tun0-eth0
iptables -A FORWARD -i tun0 -o eth1 -j tun0-eth1

lo интерфейс:

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -i lo -j ACCEPT

Правила для интерент интерфейса eth0:

iptables -A eth0-in -m state RELATED,ESTABLISHED -j ACCEPT
iptables -A eth0-in -j DROP

iptables -A eth0-out –j ACCEPT
iptables -A eth0-out -j DROP

iptables -A eth0-eth1 -m --state RELATED,ESTABLISHED -j ACCEPT
iptables -A eth0-eth1 -j DROP

iptables -A eth0-tun0 -j DROP

Правила для локального интерфейса eth1:

iptables -A eth1-in -p tcp –m multiport --dport 22,67,68,3128 -j ACCEPT
iptables -A eth1-in -j DROP

iptables -A eth1-out -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A eth1-out -j DROP

iptables -A eth1-eth0 -j ACCEPT
iptables -A eth1-tun0 -j ACCEPT

Правила для VPN интерфейса tun0:

iptables -A tun0-in -j ACCEPT
iptables -A tun0-out -j ACCEPT

iptables -A tun0-eth0 -j DROP
iptables -A tun0-eth1 -j ACCEPT

Правила Postrouting (совершенно не уверен в правильности):

iptables -t nat -A POSTROUTING -s 20.0.0.0/24 -o tun0 -j SNAT -d 20.0.1.0/24 --to-source 192.168.0.2
iptables -t nat -A POSTROUTING -s 20.0.0.0/24 -o eth0 -j SNAT --to-source 190.40.20.160

Правила Prerouting для Squid:

iptables -t nat -A PREROUTING -s 10.0.0.0/24 -i eth0 -p -m muliport 80,8080 -j REDIRECT --to-ports 3128

Правильно ли я понимаю, что из тунеля пакеты НЕ надо перенаправлять на внешний интернет интерфес (eth0)?
Пожалуйста укажите на явные ошибки! Более всего интересуют команды с tun0.

  • проверить iptables настройки (Debian+OpenVPN+Squid), !*! reader, 15:37 , 13-Май-10 (1)
    >Большая просьба помочь разобраться и настроить Линух шлюзы.
    >Интересует конкретно настройки iptables при использовании openVPN. К сожалению не до конца
    >понимаю сам принцип - как пакеты проходят через виртуальный интерфейс.

    примерно так же как и через физический.
    смотрите таблицу маршрутизации, а там указано что пакет для подсети такой то, отправить через шлюз такой то , и через такой то интерфейс и не важно физический он или виртуальный

    >[оверквотинг удален]
    >Правила для VPN интерфейса tun0:
    >

    iptables -A tun0-in -j ACCEPT 
    >iptables -A tun0-out -j ACCEPT
    >
    >iptables -A tun0-eth0 -j DROP
    >iptables -A tun0-eth1 -j ACCEPT

    >
    >Правила Postrouting (совершенно не уверен в правильности):
    >
    iptables -t nat -A POSTROUTING -s 20.0.0.0/24 -o tun0 -j SNAT -d 
    >20.0.1.0/24 --to-source 192.168.0.2

    nat не лучший выбор, если вы контролируете обе сети, то лучше настройте маршрутизацию

    >iptables -t nat -A POSTROUTING -s 20.0.0.0/24 -o eth0 -j SNAT --to-source
    >190.40.20.160

    это я так понимаю выпускает локалку в инет.

    >
    >Правила Prerouting для Squid:
    >

    iptables -t nat -A PREROUTING -s 10.0.0.0/24 -i eth0 -p -m muliport 
    >80,8080 -j REDIRECT --to-ports 3128

    >
    >Правильно ли я понимаю, что из тунеля пакеты НЕ надо перенаправлять на
    >внешний интернет интерфес (eth0)?

    если эти пакеты должны ходить только по вашим локальным сетям, то не нужно.

    >Пожалуйста укажите на явные ошибки! Более всего интересуют команды с tun0.

    • проверить iptables настройки (Debian+OpenVPN+Squid), !*! Sculptor, 09:24 , 14-Май-10 (2)
      Спасибо за ваш ответ.

      Правильно ли я понял, что в целом явныхз ошибок нет?


      На счет маршрутизацией - буду думать и решать. Забыл добавить в описание проблемы, что на другом конце интранета также будет стоять Линух машина с такими же функциями.

      • проверить iptables настройки (Debian+OpenVPN+Squid), !*! reader, 11:07 , 14-Май-10 (3)
        >Спасибо за ваш ответ.
        >
        >Правильно ли я понял, что в целом явныхз ошибок нет?

        :) ну как вам сказать,
        если не принимать в расчет что dhcp использует udp протокол, порт для сервера vpn не открыт, то нормально :)
        >
        >
        >На счет маршрутизацией - буду думать и решать. Забыл добавить в описание
        >проблемы, что на другом конце интранета также будет стоять Линух машина
        >с такими же функциями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру