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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Настройка pipe, Проблема с pipe и natd 
:(
    Опции темы
Stephon
Дата 5.12.2005, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Настроен firewall на BSD. Нужно организовать канал для нескольких пользователей сети. Выставляю скрипт.
#!/bin/sh
#Just macro for ipfw command. Key -q means no echo output on screen.
fwcmd="/sbin/ipfw -q"

#*****************
# Initial setup
#****************

# External network
LanOut="xl0"
IPOut="101.101.101.101"
NetOut="29"
MaskOut="255.255.255.248"

# Internal Network
LanIn="xl1"
IPIn="10.0.0.1"
NetInIP="10.0.0.0"
NetInMask="24"
MaskIn="255.255.255.0"

# Vip IP address
MyIP1="10.0.0.78"
MyIP2="10.0.0.77"

# My DNS for future needs.
dns1="101.101.101.5"
dns2="101.101.101.9"

# Reset all rules
${fwcmd} -f flush
${fwcmd} –f pipe flush

# By default loopback
${fwcmd} add pass all from any to any via lo0

# Stop private networks (RFC1918) from entering the outside interface.
${fwcmd} add deny ip from 192.168.1.0/16 to any in via ${LanOut}
${fwcmd} add deny ip from 172.16.0.0/12 to any in via ${LanOut}
${fwcmd} add deny ip from 10.0.0.0/8 to any in via ${LanOut}

# Forward to SQUID all local request for http,https,ftp
#${fwcmd} add fwd 127.0.0.1,3128 tcp from ${NetInIP}/${NetInMask} to any http,https,ftp via ${LanIn}

# For NAT support
${fwcmd} add divert natd ip from ${NetInIP}/${NetInMask} to any out via ${LanOut}
${fwcmd} add divert natd ip from any to ${IPOut} in via ${LanOut}

# For DUMMYNET conections
${fwcmd} pipe 1 config bw 15KBytes/s
${fwcmd} queue 1 config weight 90 pipe 1
${fwcmd} queue 2 config weight 70 pipe 1
${fwcmd} queue 3 config weight 50 pipe 1
${fwcmd} queue 4 config weight 50 pipe 1
${fwcmd} add queue 1 ip from 10.0.0.58 to any 80,443
${fwcmd} add queue 1 ip from any 80,443 to 10.0.0.58
${fwcmd} add queue 2 ip from 10.0.0.25 to any 80,443
${fwcmd} add queue 2 ip from any 80,443 to 10.0.0.25
${fwcmd} add queue 3 ip from 10.0.0.80 to any 80,443
${fwcmd} add queue 3 ip from any 80,443 to 10.0.0.80
${fwcmd} add queue 4 ip from 10.0.0.24 to any 80,443
${fwcmd} add queue 4 ip from any 80,443 to 10.0.0.24


# Accept all RST and ACK connections
${fwcmd} add pass tcp from any to any established

# For out packets IP
${fwcmd} add pass ip from ${IPOut} to any out xmit ${LanOut}

# Allow sendmail
${fwcmd} add pass tcp from any to any 25,110 via ${LanOut}
${fwcmd} add pass tcp from any 25,110 to any via ${LanOut}

# Allow DNS
${fwcmd} add pass udp from any to any 53 via ${LanOut}
${fwcmd} add pass tcp from any to me 53
${fwcmd} add pass udp from any 53 to any via ${LanOut}

# Vip addresses access
${fwcmd} add pass tcp from ${MyIP1} to any 20,21,22,23,80,8080,443,4000
${fwcmd} add pass tcp from any 20,21,22,23,80,443,4000 to ${MyIP1}
${fwcmd} add pass tcp from ${MyIP2} to any 20,21,22,23,80,443,4000
${fwcmd} add pass tcp from any 20,21,22,23,80,443,4000 to ${MyIP2}


#Allow https access to Exchange
${fwcmd} add pass tcp from any to 10.0.0.173 443

# Deny terminal, Squid - outside
${fwcmd} add deny tcp from any to any 20,22,23,3128 in via ${LanOut}

# Deny - www, FTP, terminal,POP,SMTP - inside
${fwcmd} add deny tcp from any to any 20,21,22,23,25,110,80,443 in via ${LanIn}
${fwcmd} add deny tcp from any to any 8000-8104 in via ${LanIn}

#Allow other throught Internal Interface
${fwcmd} add pass all from any to any via ${LanIn}

# Allow WWW from outside
#${fwcmd} add pass tcp from ${IPOut} 80 to any via ${LanOut}
#${fwcmd} add pass tcp from any to ${IPOut} 80 via ${LanOut}

# Allow FTP from outside
${fwcmd} add pass tcp from any to me 21
${fwcmd} add pass tcp from me 20 to any
# For Passive FTP servers
${fwcmd} add pass tcp from any to me 49000-50550 setup keep-state

#ICMP
${fwcmd} add allow icmp from any to ${IPOut} in via ${LanOut} icmptype 0,3,4,8,11,12
${fwcmd} add allow icmp from any to ${NetInIP}/${NetInMask} in via ${LanOut} icmptype 0,3,4,11,12
${fwcmd} add allow icmp from ${IPOut} to any out via ${LanOut} icmptype 3,8,12
${fwcmd} add allow icmp from ${IPOut} to any out via ${LanOut} frag

${fwcmd} add deny log all from any to any via ${LanOut}

${fwcmd} add deny log ip from any to any

В данном скрипте к сожелению pipe не работает.

PM MAIL   Вверх
DENNN
Дата 6.12.2005, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

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



Цитата(Stephon @ 5.12.2005, 18:22)
В данном скрипте к сожелению pipe не работает.

Мне почему-то кажется что не тлько пайп. ;)
Критиковать уже можно?

И как определил, что все таки не работает?

переписывай примерно так:
Цитата

${fwcmd} pipe 1 config bw 15KBytes/s
${fwcmd} queue 1 config weight 90 pipe 1 mask src-ip 0xffffffff
${fwcmd} queue 2 config weight 90 pipe 1 mask dst-ip 0xffffffff
${fwcmd} queue 3 config weight 70 pipe 1mask src-ip 0xffffffff
${fwcmd} queue 4 config weight 50 pipe 1 mask dst-ip 0xffffffff
${fwcmd} queue 5 config weight 50 pipe 1 mask src-ip 0xffffffff
${fwcmd} queue 6 config weight 50 pipe 1 mask dst-ip 0xffffffff

${fwcmd} add queue 1 ip from 10.0.0.58 to any
${fwcmd} add queue 2 ip from any to 10.0.0.58
${fwcmd} add queue 3 ip from 10.0.0.25 to any
${fwcmd} add queue 4 ip from any to 10.0.0.25

${fwcmd} add queue 5 ip from not \( 10.0.0.25/24{25,58} \)  to any
${fwcmd} add queue 6 ip from any to not \(10.0.0.25/24{25,58} \)

Может чего со скобками напутал - думаю сам синтаксис исправишь.
и показывай вывод на идущем трафике
Цитата

ipfw queue show


И вообще, такого беспорядочного нагромождения правил лучше избегать.
P.S. для того, чтоб не общаться с инопланетянами не забываем приводить вывод команды
Цитата

uname -a


Это сообщение отредактировал(а) DENNN - 6.12.2005, 10:17
PM ICQ   Вверх
Stephon
Дата 6.12.2005, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Определил как раз командой ipfw queue show. Показывает что поступило 4-6 пакетов на выход и все. После повторного использования команды видно что пакеты не поступают в pipe. А т.к. Инет у них пашет следовательно пакеты идут по другим правилам.
Добавлено @ 10:45
${fwcmd} add queue 5 ip from not \( 10.0.0.25/24{25,58} \) to any
${fwcmd} add queue 6 ip from any to not \(10.0.0.25/24{25,58} \)

Помоему донные правила направят в pipe всех остальных пользователей локалки а мне нужно вырезать канал только для четырех пользователей.
PM MAIL   Вверх
Stephon
Дата 6.12.2005, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



И еще один нюанс мне нужно открыть только 80 порт.
PM MAIL   Вверх
DENNN
Дата 6.12.2005, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

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



Цитата

uname -a

ipfw show
ipfw queue show


PM ICQ   Вверх
DENNN
Дата 6.12.2005, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 3878
Регистрация: 27.3.2002
Где: Москва

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



И на всякий случай
Цитата

sysctl net.inet.ip.fw.one_pass
net.inet.ip.dummynet.hash_size


PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0531 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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