Шлюз в интернет и 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. т.е. одна карта
[Ответить]
|