Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> iptables, внутренняя и внешняя сеть 
:(
    Опции темы
zatei
Дата 14.9.2009, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 14.9.2009

Репутация: нет
Всего: нет



Здравствуйте!

Сутки убил на чтение материалов по iptables, составил койкакие правила и столкнулся с проблемой:

Имеется локальная сеть и внешний выделенный IP с такими параметрами:
local ip: 10.96.76.100 (eth0)
inet ip: 88.84.xxx.xxx (ppp0)

Ставим сервак под дебианом, пишем маршруты, поднимаем VPN, все работает.

Начинаем настраивать простые правила доступа (к сожалению не имею под рукой их сейчас, напишу пока логику):

###
Интерфейс lo без ограничений доступа
Пропускать если порт 21
Пропускать если порт 22
Пропускать если порт 80
Пропускать если порт ххх
Разрешить пинги
Разрешить DNS резолв
Ну и в конце блокировать все остальное (дефолтное правило)
###

И да, это действительно все правила которые я успел создать когда заметил интересную вещь - все эти правила работают исключительно в локальной сети, я не смог получить доступ к системе по какому либо из разрешенных портов из интернета, nmap говорит что перекрыто напрочь все. Все правила писал в цепочке INPUT, другие цепочки пока не трогал и они имеют разрешающие любой траффик дефолтные правила.

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

Заранее спасибо!
PM MAIL   Вверх
bilbobagginz
Дата 15.9.2009, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 34
Всего: 317



кроме настроек фаервола 
надо до всей этой процедуры разрешить переброс сообщений с ppp0 на eth0.
(IP forwarding)
путь I-й:
делать это лучше всего через /etc/sysctl.conf
в этом файле есть строчка (закомментенная):
Цитата

# net.ipv4.ip_forward = 1

надо её раскомментить (стереть "#"), 
и запустить sysctl:
Цитата

sysctl -p

путь II-й:
можно и в "полуручную", в скрипте настроек фаервоал запускать команду:
Цитата

sysctl -w net.ipv4.ip_forward=1

путь III-й:
или в совсем ручную:
Цитата

echo "1" > /proc/sys/net/ipv4/ip_forward


самый правильный способ I-й или II-й.

удачи.


Это сообщение отредактировал(а) bilbobagginz - 15.9.2009, 01:40


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
zatei
Дата 15.9.2009, 07:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 14.9.2009

Репутация: нет
Всего: нет



Я верно понимаю что все что вы описали применимо если я хочу объединить две сети да еще чтоб ни общались или это уже полезно даже когда у тебя просто более одного интерфейса на машине? Ведь ppp0 интерфейс то виртуальный...

Принцип в том что этот самый сервер играет роль и веб сервера и немного игрового сервера но пока еще не гейтвея никак, доступ к нему и из локалки и из интернета нужен, а общение сетей через него нет.
PM MAIL   Вверх
MAKCim
Дата 15.9.2009, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: нет
Всего: 207



Цитата(zatei @  14.9.2009,  23:36 Найти цитируемый пост)
к сожалению не имею под рукой их сейчас, напишу пока логику

а жедательно бы привести хотя бы вывод
Код

# iptables -t <table> -L



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
zatei
Дата 15.9.2009, 13:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 14.9.2009

Репутация: нет
Всего: нет



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

Кстати изменилось немного конфигурация системы, теперь у меня 4 интерфейса: eth0, eth1, ppp0, lo

Мне надо чтоб правила (которые я еще позжее допишу) распространялись только на интерфейсы eth0 и ppp0, они смотрят в локалку и  в интернет соотв. И-фейс eth1 будет смотреть в перспективе в мою внутреннюю сеть из пары - тройки других машин, сервер в перспективе станет NAT'ом но это все потом, когда я научусь iptables правильно настраивать smile

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

Код

*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT

*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT

*filter
:FORWARD ACCEPT [0:0]
:INPUT DROP [0:0]
:OUTPUT ACCEPT [0:0]

-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags ACK ACK -j ACCEPT
-A INPUT -p udp -m udp --dport 1024:65535 --sport 53 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type echo-reply -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type destination-unreachable -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type source-quench -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type time-exceeded -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type parameter-problem -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 65001 -j ACCEPT
-A INPUT -p tcp -m tcp --dport auth -j ACCEPT

COMMIT


P.S. Не посчитайте лентяем, честно сижу штудирую мануалы по iptables (в т.ч. на этом самом форуме) но много чего еще не догоняю. 
PM MAIL   Вверх
zatei
Дата 15.9.2009, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 14.9.2009

Репутация: нет
Всего: нет



Вобщем это что-то непонятное, конфиг iptables который я привел выше плюс включение в ядре форвардинга ничего не дают, правила действуют только для интерфейса eth0 (10.96.76.100), для интерфейса ppp0 (88.84.xxx.xxx) режется весь трафик напрочь, удалил правило касающееся и-фейса lo - не помогло. Что ж такое то?

tcpdump + ping ya.ru
Код

listening on ppp0, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
14:39:55.103670 IP 88.84.xxx.xxx > ya.ru: ICMP echo request, id 28187, seq 1, length 64
14:39:56.103633 IP 88.84.xxx.xxx > ya.ru: ICMP echo request, id 28187, seq 2, length 64
14:39:57.103611 IP 88.84.xxx.xxx > ya.ru: ICMP echo request, id 28187, seq 3, length 64
14:39:58.103721 IP 88.84.xxx.xxx > ya.ru: ICMP echo request, id 28187, seq 4, length 64
14:39:59.103754 IP 88.84.xxx.xxx > ya.ru: ICMP echo request, id 28187, seq 5, length 64
14:40:00.103808 IP 88.84.xxx.xxx > ya.ru: ICMP echo request, id 28187, seq 6, length 64
14:40:01.103865 IP 88.84.xxx.xxx > ya.ru: ICMP echo request, id 28187, seq 7, length 64
14:40:02.104042 IP 88.84.xxx.xxx > ya.ru: ICMP echo request, id 28187, seq 8, length 64
^C
8 packets captured
8 packets received by filter
0 packets dropped by kernel

PM MAIL   Вверх
zatei
Дата 15.9.2009, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 14.9.2009

Репутация: нет
Всего: нет



Разобрался, блокировал пакеты своего VPN сервера, проблема решена  smile 

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

Всем спасибо за помощь!
PM MAIL   Вверх
ZeeLax
Дата 16.9.2009, 05:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 7
Всего: 88



Цитата(zatei @  15.9.2009,  17:26 Найти цитируемый пост)
И таки если кому не лень то укажите пожалуйста на недочеты в моем конфиге

Не зная, чего вы хотите, никаких недочетов там никто не увидит. А если и увидит - это вам не сильно поможет.


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
zatei
Дата 16.9.2009, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 14.9.2009

Репутация: нет
Всего: нет



Понял, в принципе я уже с этим разобрался

Появился новый вопрос:

Три интерфейса: eth0 (смотрит в локальную сеть провайдера), eth1 (смотрит в мою личную домашнюю локалку из неск. компов - 192.168.0.0/24), ppp0 (VPN соединение, смотрит в интернет)

Какими правилами организовать SNAT (не маскарадинг, маскарадинг жрет много ресурсов) который при запросе в локальную сеть (10.ххх.ххх.ххх) будет пускать пакеты по маршрутам локальной сети через eth0, а при запросе на все остальное будет пускать их через ppp0.

И да, есть еще пара подсетей доступных из локальной сети, к примеру 80.252.ххх.ххх/31, их тоже надо пускать через eth0.

Маршруты (возможно помогут выяснить что к чему, маршруты при включенном VPN):
Код

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.255.245.22   *               255.255.255.255 UH    0      0        0 ppp0
vpn.veganet.ru  10.96.76.1      255.255.255.255 UGH   0      0        0 eth0
80.252.xxx.xxx  10.96.76.1      255.255.255.254 UG    0      0        0 eth0
80.252.xxx.xxx   10.96.76.1      255.255.255.240 UG    0      0        0 eth0
10.10.122.64    10.96.76.1      255.255.255.224 UG    0      0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth1
10.96.76.0      *               255.255.252.0   U     0      0        0 eth0
10.96.0.0       10.96.76.1      255.255.0.0     UG    0      0        0 eth0
link-local      *               255.255.0.0     U     1000   0        0 eth1
default         *               0.0.0.0         U     0      0        0 ppp0

PM MAIL   Вверх
ZeeLax
Дата 17.9.2009, 04:50 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 7
Всего: 88



Модератор: Пожалуйста, один топик - один вопрос.
И давайте более осмысленные названия вашим темам. Вот так кто-нибудь воспользуется поиском, а там куча тем, названных "iptables"...


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
zatei
Дата 17.9.2009, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 14.9.2009

Репутация: нет
Всего: нет



Ок извиняюсь
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Администрирование"
ZeeLax
Imple
nerezus
Этот форум предназначен для решения вопросов по администрации *n?x-систем, в частности по настройке сложных сетей и обслуживанию серверного оборудования.

  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование *NIX систем | Следующая тема »


 




[ Время генерации скрипта: 0.0721 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.