Yellow Leaf

Yellow Leaf


Поиск по сайту


Вход
Правила портала
Регистрация
Забыли пароль?
О команде проекта
Справка по оформлению постов


Последние комментарии к новостям и статьям
Re: Использование нескольких интернет-каналов для повышения надёжности соединения
Re: Доступн для загрузки пакет с играми для Ubuntu Linux - GamePack 9.10.2
Re: Вышла новая версия библиотеки QRemoteSignal
Re: Организация трансляции потока с веб-камеры с помощью ffserver
Re: Общий принтер в локальной сети на Linux
Ещё комментарии >>>


 


Новые файлы
Debian: cue2tracks_0.2.11_all (Дополнение для CUE 2 Tracks v0.2.11)
Gentoo: cue2tracks-0.2.11 (Дополнение для CUE 2 Tracks v0.2.11)
CUE 2 Tracks v0.2.11
Jabber-Shell 20090303
EasySoft AutoRun 0.4.1


Новое на форуме
Движок сайта. версия 2.0
Не получаеться поднять VPN сервер на Ubuntu server 10.04
Нужен логопед, срочно
Словить процесс
проблемы с разделом жесткого диска


Проекты
Jabber-Shell
Qmmp
QStarDict
PHPSAAdmin


Друзья сайта
 Open Kazan - Казанское сообщество пользователей OpenSource 


Посетителей с 08.09.2006

4736748


Внешний вид портала


RSS-Ленты
Новости
Файлы


 

   
  Яндекс цитирования  

«Жёлтый Лист» - cайт о мире юникс
Новости Форум Статьи Файлы Пользователи
   

Шлюз в интернет и PPTP-сервер для небольшого офиса

MooSE 2009-12-11 12:12:21

Некоторое время назад мы рассматривали задачу организации централизованного доступа в Интернет для офисов, расположенных в бизнес-центре. Сейчас рассмотрим немного другую задачу: у организации свой офис, со своим Интернет-каналом, но кроме доступа в Интернет из офиса, нужно организовать доступ в офисную сеть для сотрудников, работающих удалённо.

Приступаем к решению поставленной задачи.

  • Мы будем использовать сервер под управлением операционной системы Ubuntu Server 9.10;
  • На внешнем (eth0) интерфейсе сервера будет адрес 1.2.3.4;
  • Локальная сеть имеет адресное пространство 192.168.2.0/24 и на внутреннем интерфейсе сервера (eth1) находится адрес 192.168.2.1;
  • Офисный шлюз также будет DNS-сервером для своих сетей;
  • Для доступа удалённых пользователей будет использоваться протокол PPTP (так как PPTP-клиент встроен в ОС Windows, которая чаще всего используется на клиентских компьютерах).

Первым делом установим операционную систему на сервер в самой минимальной конфигурации (с этим ни у кого не должно возникнуть проблем) и настроим сетевые интерфейсы.

Дальше создадим скрипт /root/scripts/firewall.sh следующего содержания:

#!/bin/sh

# Минимальные настройки скрипта
# Внешний интерфейс
IF_EXT="eth0"
# Внутренний интерфейс
IF_INT="eth1"
# Локальная сеть
NET_INT="192.168.2.0/255.255.255.0"

# На всякий случай сбрасываем все правила
iptables -F
iptables -F -t nat

# Устанавливаем политики по умолчанию:
# Никого не пускать
iptables -P INPUT DROP
# Всех выпускать
iptables -P OUTPUT ACCEPT
# Мимо нас никто не ходит
iptables -P FORWARD DROP

# Впускаем ответы на запросы, которые сами отправили
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Разрешаем весь трафик на внутреннем интерфейсе
iptables -A INPUT -i lo -j ACCEPT

# Разрешаем весь трафик со стороны локальной сети
iptables -A INPUT -i ${IF_INT} -s ${NET_INT} -j ACCEPT

# Разрешаем весь трафик, который необходим для работы PPTP-сервера
iptables -A INPUT -m tcp -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT

# NAT для локальной сети на внешнем интерфейсе
iptables -t nat -A POSTROUTING -s ${NET_INT} -j MASQUERADE -o ${IF_EXT}
# Разрешаем пересылку пакетов из локальной сети наружу
iptables -A FORWARD -i ${IF_INT} -o ${IF_EXT} -s ${NET_INT} -j ACCEPT
# Разрешаем пересылку в локальную сеть ответов на исходящие запросы
iptables -A FORWARD -i ${IF_EXT} -o ${IF_INT} -d ${NET_INT} -m state --state RELATED,ESTABLISHED -j ACCEPT

Чтобы этот скрипт выполнялся при загрузке нужно добавить его вызов в файле /etc/rc.local:

/root/scripts/firewall.sh

Затем нужно разрешить пересылку IP-пакетов в ядре. Для этого нужно добавить в файл /etc/sysctl.conf строку:

net.ipv4.ip_forward=1

Всё сделанное выше - это только изменения конфигурационных файлов и написание скриптов. Необходимо произвести некоторые действия, чтобы всё это начало работать, но мы сделаем это чуть позже. Пока же установим DNS-сервер, который находится в пакете bind9. Установим этот пакет:

apt-get install bind9

DNS-сервер начинает работать сразу после установки, какая либо особая настройка в нашем случае ему не требуется. Теперь озадачимся установкой PPTP-сервера. Мы уже решали эту задачу, однако сейчас мы рассмотрим не абстрактное решение, а реальное для конкретных условий. Здесь первым делом нужно установить пакет pptpd:

apt-get install pptpd

Далее добавим в файл /etc/ppp/pptpd-options следующие строки:

# Адрес DNS-сервера, который будет передаваться клиенту
ms-dns 192.168.2.1
# Не пытаться восстановить соединение после отключения клиента
# Если не указать эту опцию - pptpd будет безуспешно восстанавливать соединение и ругаться в логи
nopersist

Далее допишем в конец файла /etc/pptpd.conf строки:

# IP-адрес нашего сервера (его будут видеть все клиенты как remote-host в свойствах своего ppp-соединения)
localip 192.168.2.1
# Диапазон адресов клиентов (используется для тех клиентов, для которых IP-адрес не указан явно)
remoteip 192.168.2.250-255

Переходим к созданию пользователей для нашего PPTP-сервера. Они создаются добавлением в файл /etc/ppp/chap-secrets строк вида:

# Если пользователь должен динамически получать IP-адрес
# из диапазона remoteip в pptpd.conf:
user1   pptpd   password1       "*"

# Если мы хотим привязать определённый IP  к логину:
user2   pptpd   password2       "192.168.2.101"

Когда клиент подключается к серверу, для него создаётся новый ppp-интерфейс, однако поскольку для этого интерфейса нет правил iptables, а политики по умолчанию блокируют весь "левый" трафик, то клиент, подключившись, не сможет работать. Чтобы работа стала возможной, нужно при создании нового интерфейса добавлять дополнительные правила в iptables, а при уничтожении - убирать эти правила.

Чтобы при создании интерфейса добавлялись правила, нужно создать скрипт /etc/ppp/ip-up.d/99_pptp_vpn следующего содержания:

#!/bin/sh


# Извлекаем из переменных окружения имя интерфейса и IP-адрес клиента
IF_PPTP=${PPP_IFACE}
IP_PPTP=${PPP_REMOTE}

# Интерфейсы, через которые мы готовы пускать клиента
# Здесь нужно как минимум указать внутренний интерфейс
# Однако если мы хотим так же выпустить клиента в Интернет - нужно указать и внешний интерфейс
OUT_IFACES="eth0 eth1"

# Разрешаем использование нашего DNS-сервера
iptables -A INPUT -m udp -p udp --dport 53 -i ${IF_PPTP} -s ${IP_PPTP} -j ACCEPT

# Перебираем интерфейсы
for IF_EXT in ${OUT_IFACES}; do
    # Разрешаем трафик с клиента через этот интерфейс
    iptables -A FORWARD -i ${IF_PPTP} -o ${IF_EXT} -s ${IP_PPTP} -j ACCEPT
    # Разрешаем трафик с этого интерфейса в сторону клиента
    iptables -A FORWARD -i ${IF_EXT} -o ${IF_PPTP} -d ${IP_PPTP} -m state --state RELATED,ESTABLISHED -j ACCEPT
done

Для удаления правил при уничтожении интерфейса (то есть при отключении клиента) создадим скрипт /etc/ppp/ip-down.d/99_pptp_vpn, следующего содержания:

#!/bin/sh


# Извлекаем из переменных окружения имя интерфейса и IP-адрес клиента
IF_PPTP=${PPP_IFACE}
IP_PPTP=${PPP_REMOTE}

# Интерфейсы, через которые мы были готовы пускать клиента
OUT_IFACES="eth0 eth1"

# Удаляем правило, разрешающее клиенту использование нашего DNS
iptables -D INPUT -m udp -p udp --dport 53 -i ${IF_PPTP} -s ${IP_PPTP} -j ACCEPT

# Перебираем интерфейсы
for IF_EXT in ${OUT_IFACES}; do
    # Удаляем правила, которые разрешали клиенту пересылку пакетов между интерфейсами
    iptables -D FORWARD -i ${IF_PPTP} -o ${IF_EXT} -s ${IP_PPTP} -j ACCEPT
    iptables -D FORWARD -i ${IF_EXT} -o ${IF_PPTP} -d ${IP_PPTP} -m state --state RELATED,ESTABLISHED -j ACCEPT
done

Здесь мы используем тот факт, что все скрипты, которые расположенные в директории /etc/ppp/ip-up.d, выполняются при создании нового ppp-интерфейса, а скрипты из директории /etc/ppp/ip-down.d выполняются при его уничтожении. Перед выполнением этих скриптов устанавливается ряд переменных окружения, в частности:

  • PPP_IFACE - имя создаваемого интерфейса;
  • PPP_REMOTE - IP-адрес второй точки создаваемого ppp-соединения (в случае PPTP-сервера - адрес клиента).

Всё. Теперь остаётся только перезагрузить сервер, чтобы все изменения вступили в силу, и шлюз будет готов к использованию. Если вы не любите (и правильно делаете;)) перезагружать оборудование, то вы можете применить конфигурацию с помощью следующих команд:

# Загружаем правила iptables
/root/scripts/firewall.sh

# Перечитываем sysctl.conf
sysctl -p

# Перезапускаем PPTP-сервер:
invoke-rc.d pptpd restart

В качестве продолжения можно настроить проверку http-трафика на вирусы, фильтрацию рекламы, учёт трафика. Чтобы ограничить аппетиты удалённых пользователей, можно лимитировать им скорость. Если у организации несколько офисов, то можно так же настроить обмен трафиком между ними с помощью OpenVPN. Но всё это мы оставим читателю.

На этом всё. Приятной работы!

Корректор: Регина Васильева (reggi86@mail.ru)

Ключевые слова:pptp, router, office, gateway, iptables, vpn

Версия для печати


Комментарии:

morbo 2009-12-11 14:39:13 (*)

ИМХО статья - малоосмысленный дубль. Всё, что добавилось - это скрипты с фаерволлом, способ настройки которых очевиден.

[Ответить]


MooSE 2009-12-11 15:06:33 (*)

Цитата:

ИМХО статья - малоосмысленный дубль. Всё, что добавилось - это скрипты с фаерволлом, способ настройки которых очевиден


Вот тут я не согласен. У меня на написание этих скриптов ушло несколько часов. Раньше я не имел привычки в правилах явно указывать имена интерфейсов и всё работало.

Когда понял что полезно имена интерфейсов указывать - столкнулся с тем что для PPTP нужно динамически добавлять правила и потратил несколько часов на их написание.

[Ответить]


PAVka 2009-12-17 08:57:20 (*)

Если у организации несколько офисов, то можно так же настроить обмен трафиком между ними с помощью ___OpenPVN___.

поправьте

[Ответить]


MooSE 2009-12-17 11:25:40 (*)

Спасибо. Поправил.

[Ответить]


PAVka 2009-12-17 12:05:40 (*)

эх кто бы перевел

http://www.frozentux.net/documents/ipsysctl-tutorial/
http://www.frozentux.net/documents/iptables-tutorial/

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

про http://www.opennet.ru/docs/RUS/iptables/iptables-rus.tar.gz в курсе

[Ответить]


MooSE 2009-12-17 14:19:07 (*)

А тебе для чего перевод? Переведённая документация обычно хуже оригинальной. На русском разве что HowTo читать. Чтобы посмотреть пример реально использования.

Если есть конкретная задача - отписывай. Может сталкивался или просто интересно и есть возможность попробовать решить...

[Ответить]


Анонимный посетитель 2010-01-28 17:44:37 (*)

по моему не указано, что
chmod +x /etc/ppp/ip-*.d/99_pptp_vpn

[Ответить]


Анонимный посетитель 2010-02-03 10:42:23 (*)

Как насчет проверить кто запускает /etc/ppp/ip-*.d/99_pptp_vpn ?

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

[Ответить]


MooSE 2010-02-03 18:03:16 (*)

Цитата:

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


это клиника. это не лечится. те скрипты будут срабатывать только когда поднимаются ppp-интерефейсы. я чё-т не слышал что бы мои vlan* и eth* были ppp-интерфейсами. и всё это реально настроено у меня и работаетю

[Ответить]


Анонимный посетитель 2010-02-05 07:43:45 (*)

да, ступил немного - перепутал с /etc/network/if-up и др...

[Ответить]


Анонимный посетитель 2010-02-11 16:36:49 (*)

А если просто добавить в фаервол
iptables -A FORWARD -i ppp+ -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -o ppp+ -j ACCEPT

[Ответить]


Andrey 2010-02-14 04:07:10 (*)

Не пинайте, я только начал осваивать iptables, pptpd.
У меня не получается, сделал всё как тут написано.
Поменял только адреса локалки.Остальные переменные, я так понял берутся из этих скриптов и из ip-up.
Но интернета нет, пока не пропишешь iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE Но когда проверяю ip на каком-нибудь сайте, то мне выдают внешний ip

[Ответить]


MooSE 2010-02-15 11:22:36 (*)

не совсем понял что именно не работает?

[Ответить]


Andrey 2010-02-15 18:00:09 (*)

Nat

[Ответить]


MooSE 2010-02-15 23:33:34 (*)

показывай какие конфиги менял и как.

[Ответить]


Анонимный посетитель 2010-02-16 17:36:35 (*)

Всё разобрался

[Ответить]


MooSE 2010-02-17 09:27:55 (*)

Обычно принято отписывать в чём была проблема:)

[Ответить]


Andrey 2010-02-17 16:09:30 (*)

Да просто я сам протупил, я так сказать новичок в этом деле, с сетями раньше не сталкивался и не до конца понимал зачем нужен nat.
Только начинаю изучать iptables, но времени свободного маловато.
Ещё вопросик.
Если есть доступ к серверу, какое правило прописать чтобы с определённого ip локалки, а лучше по мак- адрессу был прямой доступ в интернет, минуя впн?

[Ответить]


MooSE 2010-02-18 09:11:16 (*)

точно так же поднять нат:) рекоммендую читать man iptables :)

[Ответить]


Andrey 2010-02-18 18:47:07 (*)

Блин, времени сейчас нет на изучение, работаю.
У вас это всё работа, у меня другая.
Вам тяжело написать правило?

[Ответить]


Andrey 2010-02-19 21:00:01 (*)

пробовал так
iptables -A INPUT -s x.x.x.x -m state --state NEW -j ACCEPT
iptables -t nat -A POSTROUTING -s x.x.x.x -o eth0 -j MASQUERADE

eth0 в интернет
x.x.x.x локальный ip

Не пропускает

[Ответить]


MooSE 2010-02-20 02:18:33 (*)

а FROWARD разрешить?

[Ответить]


Andrey 2010-02-21 01:27:23 (*)

добавил FORWARD

iptables -t filter -A FORWARD -s eth0 -o X.X.X.X -j ACCEPT
iptables -t filter -A FORWARD -o eth0 -s X.X.X.X -j ACCEPT

результат тот же - не пропускает

[Ответить]


Анонимный посетитель 2010-02-21 08:59:50 (*)

Попробуй так:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -A INPUT -s X.X.X.X -j ACCEPT
iptables -A FORWARD -s X.X.X.X -j ACCEPT
iptables -t nat -A POSTROUTING -s X.X.X.X -j SNAT --to-source Y.Y.Y.Y

где Y.Y.Y.Y внешний ip шлюза,
а внутренний адрес шлюза пропиши в настройках сети компа X.X.X.X

[Ответить]


MooSE 2010-02-21 12:38:22 (*)

ваще-т надо так:


iptables -A FORWARD -i eth1 -o eth0 -s 192.168.10.11 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -d 192.168.10.11 -m state --state RELATED,ESTABLISHED -j ACCEPT

[Ответить]


Andrey 2010-02-21 13:27:18 (*)

не работает, отключаю впн, ввожу правила, интернета нет.

[Ответить]


MooSE 2010-02-22 09:45:21 (*)

покажи ВСЕ свои правила и вообще дай больше информации. в противном случае продолжение дискуссии считаю бесмыссленным.

[Ответить]


Andrey 2010-02-22 14:02:27 (*)

правила из ваших скриптов, добавил только

iptables -I INPUT -p tcp --destination-port 6881:6999 -j ACCEPT
впн поднимал через abills, freeradius
внешний ip статический, по локалке ip раздаёт dhcp3, и парочка статических ip.На этих статических нужен интернет без впн, и желательно по маку.
Подскажите какую ещё информацию показать, я выложу.

[Ответить]


MooSE 2010-02-22 20:05:00 (*)

iptables -L -n -v

iptables -t nat -L -n -v

ifconfig

[Ответить]


Andrey 2010-02-22 22:53:05 (*)

iptables -L -n -v

Chain INPUT (policy DROP 5912 packets, 477K bytes)
pkts bytes target prot opt in out source destination
589 28860 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpts:6881:6999
81985 13M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
154 25288 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
616 43130 ACCEPT all -- eth0 * 10.0.0.0/16 0.0.0.0/0
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1723
0 0 ACCEPT 47 -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT udp -- ppp7 * 10.0.1.29 0.0.0.0/0 udp dpt:53
0 0 ACCEPT udp -- ppp2 * 10.0.1.87 0.0.0.0/0 udp dpt:53
0 0 ACCEPT udp -- ppp3 * 10.0.1.35 0.0.0.0/0 udp dpt:53
0 0 ACCEPT udp -- ppp4 * 10.0.1.49 0.0.0.0/0 udp dpt:53
0 0 ACCEPT udp -- ppp0 * 10.0.1.50 0.0.0.0/0 udp dpt:53

Chain FORWARD (policy DROP 9721 packets, 754K bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- eth0 eth1 10.0.0.0/16 0.0.0.0/0
37 3013 ACCEPT all -- eth1 eth0 0.0.0.0/0 10.0.0.0/16 state RELATED,ESTABLISHED
0 0 ACCEPT all -- ppp7 eth0 10.0.1.29 0.0.0.0/0
0 0 ACCEPT all -- eth0 ppp7 0.0.0.0/0 10.0.1.29 state RELATED,ESTABLISHED
111 12292 ACCEPT all -- ppp7 eth1 10.0.1.29 0.0.0.0/0
126 27754 ACCEPT all -- eth1 ppp7 0.0.0.0/0 10.0.1.29 state RELATED,ESTABLISHED
0 0 ACCEPT all -- ppp2 eth0 10.0.1.87 0.0.0.0/0
0 0 ACCEPT all -- eth0 ppp2 0.0.0.0/0 10.0.1.87 state RELATED,ESTABLISHED
37391 6575K ACCEPT all -- ppp2 eth1 10.0.1.87 0.0.0.0/0
85824 21M ACCEPT all -- eth1 ppp2 0.0.0.0/0 10.0.1.87 state RELATED,ESTABLISHED
0 0 ACCEPT all -- ppp3 eth0 10.0.1.35 0.0.0.0/0
0 0 ACCEPT all -- eth0 ppp3 0.0.0.0/0 10.0.1.35 state RELATED,ESTABLISHED
1622 232K ACCEPT all -- ppp3 eth1 10.0.1.35 0.0.0.0/0
2138 1861K ACCEPT all -- eth1 ppp3 0.0.0.0/0 10.0.1.35 state RELATED,ESTABLISHED
0 0 ACCEPT all -- ppp4 eth0 10.0.1.49 0.0.0.0/0
0 0 ACCEPT all -- eth0 ppp4 0.0.0.0/0 10.0.1.49 state RELATED,ESTABLISHED
2288 264K ACCEPT all -- ppp4 eth1 10.0.1.49 0.0.0.0/0
1895 1231K ACCEPT all -- eth1 ppp4 0.0.0.0/0 10.0.1.49 state RELATED,ESTABLISHED
0 0 ACCEPT all -- ppp0 eth0 10.0.1.50 0.0.0.0/0
0 0 ACCEPT all -- eth0 ppp0 0.0.0.0/0 10.0.1.50 state RELATED,ESTABLISHED
20715 1941K ACCEPT all -- ppp0 eth1 10.0.1.50 0.0.0.0/0
44377 18M ACCEPT all -- eth1 ppp0 0.0.0.0/0 10.0.1.50 state RELATED,ESTABLISHED
0 0 ACCEPT all -- eth0 eth1 10.0.0.7 0.0.0.0/0
0 0 ACCEPT all -- eth1 eth0 0.0.0.0/0 10.0.0.7 state RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT 148K packets, 49M bytes)
pkts bytes target prot opt in out source destination

[Ответить]


Andrey 2010-02-22 22:55:28 (*)

iptables -t nat -L -n -v

Chain PREROUTING (policy ACCEPT 943K packets, 71M bytes)
pkts bytes target prot opt in out source destination

Chain POSTROUTING (policy ACCEPT 50310 packets, 4427K bytes)
pkts bytes target prot opt in out source destination
2397 178K MASQUERADE all -- * eth1 10.0.0.0/16 0.0.0.0/0

Chain OUTPUT (policy ACCEPT 50071 packets, 4410K bytes)
pkts bytes target prot opt in out source destination

[Ответить]


Andrey 2010-02-22 23:00:39 (*)

ifconfig


eth0 Link encap:Ethernet HWaddr 00:26:18:d9:9c:60
inet addr:10.0.0.1 Bcast:10.255.255.255 Mask:255.0.0.0
inet6 addr: fe80::226:18ff:fed9:9c60/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:9826161 errors:0 dropped:0 overruns:0 frame:0
TX packets:12442361 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2863375658 (2.6 GB) TX bytes:1512260527 (1.4 GB)
Interrupt:20 Base address:0xb800

eth1 Link encap:Ethernet HWaddr 00:e0:4c:17:b0:4f
inet addr:195.178.32.58 Bcast:195.178.32.59 Mask:255.255.255.253
inet6 addr: fe80::2e0:4cff:fe17:b04f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:11806847 errors:0 dropped:0 overruns:0 frame:0
TX packets:8961786 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1087976676 (1.0 GB) TX bytes:2420996961 (2.2 GB)
Interrupt:22 Base address:0xb400

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:14780 errors:0 dropped:0 overruns:0 frame:0
TX packets:14780 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1570872 (1.4 MB) TX bytes:1570872 (1.4 MB)

ppp0 Link encap:Point-to-Point Protocol
inet addr:10.0.0.1 P-t-P:10.0.1.50 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1400 Metric:1
RX packets:40863 errors:0 dropped:0 overruns:0 frame:0
TX packets:85695 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:3452183 (3.2 MB) TX bytes:34952968 (33.3 MB)

ppp1 Link encap:Point-to-Point Protocol
inet addr:10.0.0.1 P-t-P:10.0.1.26 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1400 Metric:1
RX packets:27669 errors:0 dropped:0 overruns:0 frame:0
TX packets:25465 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:2417640 (2.3 MB) TX bytes:32580783 (31.0 MB)

ppp2 Link encap:Point-to-Point Protocol
inet addr:10.0.0.1 P-t-P:10.0.1.87 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1400 Metric:1
RX packets:73568 errors:0 dropped:0 overruns:0 frame:0
TX packets:155161 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:15392822 (14.6 MB) TX bytes:38327886 (36.5 MB)

ppp - не все, там просто куча соединений, я думаю смысла нет все их сюда вылаживать.
да, ксати недавно карта сетевая заглючили, так что теперь, eth1 в интернет, eth0 - в локалку

[Ответить]


MooSE 2010-02-24 21:35:39 (*)

У тебя же вроде итак разрешено хождение трафика между eth0 и eth1...

[Ответить]


Andrey 2010-02-24 23:11:28 (*)

разрешено, а интернета после отключения впн - нет

[Ответить]


MooSE 2010-02-25 12:38:06 (*)

тогда давай свои скрипты... а вообще думаю пора уже на форум переходить обсуждать эту проблему:)

[Ответить]


Анонимный посетитель 2010-04-26 14:52:48 (*)

Привет всем.
Помогите чайнику поднять шлюз.

две карточки
eth0 - смотрит в инет, ip динамический
eth1 - смотрит в локалку, 192.168.0.254

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

Я так понимаю на клиентских машинах надо поднимать VPN соединение?
Линукс вижу в глаза только второй день... помогите люди добрые поднять сервак?

[Ответить]


MooSE 2010-04-26 17:37:13 (*)

Цитата:

Я так понимаю на клиентских машинах надо поднимать VPN соединение?


Зачем VPN? Ты NAT настроил? Какие настройки на компах в локалке?

Цитата:

Линукс вижу в глаза только второй день... помогите люди добрые поднять сервак?


Вообще не перевариваю этот аргумент. Теория везде одинакова. Если знаешь теорию - гугл тебе поможет с практической реализацией.

[Ответить]


Анонимный посетитель 2010-04-28 12:28:26 (*)

проблема в том что не клиентская машина (win7) не может выйти в инет.
Дело в том что eth0 - смотрит в инет, ip динамический (получается ip локалки провайдера) и чтобы получить доступ в инет надо поднимать vpn. Появляется еще один интерфейс - ppp0.
Шлюз имеет выход в инет.
На клиентской машине прописываю:
ip 192.168.0.120
mask 255.255.255.0
шлюз 192.168.0.254 (этот ip на eth1)
Я так понимаю что косяк с iptables - если правильно понял то должна быть маршрутизация не с eth0 -> eth1 и наоборот, а eth0 -> ppp0 и наоборот.

[Ответить]


MooSE 2010-04-28 14:35:52 (*)

проблема в том что и вход и выход идут через ppp-интерфейс. я знаю что один товарищ разруливал это так: прибил "внешний" линк к ppp999, а в скриптах проверял имя интерфейса и для внешнего интерфейса создавал другой набор правил.

[Ответить]


Анонимный посетитель 2010-05-24 22:35:58 (*)

А как быть если если один интерфейс (etho) смотри в локалку и через него же создаётся ppp0. т.е. одна карта

[Ответить]


Содержание*:
=

При копировании материалов с этого сайта ссылка на источник обязательна! Уважайте труд авторов!


Если материалы с этого сайта оказались вам полезны - Вы можете поддержать этот проект переведя на его счёт любую сумму, какую сочтёте нужным.

рублей


Обратная связь


© 2006-2010 Вадим Калинников aka MooSE
Сайт размещён на VPS от Агава


Кровати от производителя: кровати на заказ из дерева. . Магазин итальянские спальни. Ульяновская мебель спальни. . восстановление данных после форматирования . Ремонт от СК Золотые Ворота - косметический ремонт квартир недорого.