Форум русскоязычного сообщества Ubuntu


Автор Тема: P2P Сети и борьба с ними на роутере с Ubuntu  (Прочитано 4263 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Scorpikor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Подскажите пожалуйста - чем можно побороть( запретить, ограничить)  на роутере под Ubuntu 8.04  P2P сети ? И если можно поподробней. Уже пол инета облазил кучу доков перечитал, пробовал даже пропатчить ядро pach-o-matik ом  но при накладывании патчей на исходники ядра нужного патча из предложенных не нашел... :'( , пробовал отдельно эту штуку собрать (http://www.ipp2p.org/) - но толи ман кривой толи меня уже глючит под утро - скачал последнюю версию, читаю ридми - надо открыть мэйкфайл и прописать пути в переменных - только вот там самих переменных нет а похоже пути сами пытаются определиться... :'( Вобщем я завис на этом....  Кто-нить пробовал под убунтой че-нить подобное сделать ?
« Последнее редактирование: 11 Июнь 2008, 04:00:26 от Scorpikor »

Оффлайн Scorpikor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: P2P Сети и борьба с ними на роутере с Ubuntu
« Ответ #1 : 11 Июнь 2008, 03:54:57 »
Вобщем наковырял здесь описание http://www.easyzonecorp.net/network/view.php?ID=678   :D
Цитировать
Kernel-2.6.24 + iptables-1.4.0 + L7-filter-2.17 + ipp2p-0.8.2 on Debian 4.0
Filed under: Debian, Linux, Ubuntu — suchart @ 2:20 pm

20080202-1400

Kernel-2.6.24 + iptables-1.4.0 + L7-filter-2.17 + ipp2p-0.8.2 on Debian 4.0

คราวนี้ ผมไม่ใช้ ipp2p-0.8.1_rc1 จาก patch-o-matic แล้ว จะใช้ ipp2p-0.8.2 จาก ipp2p.org แทน บวกกับ patch ที่แอบขโมยมาจาก gentoo :-)

1.

apt-get update
apt-get install build-essential
apt-get install kernel-package
apt-get install libncurses5-dev

2.

cd /usr/src/
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2
tar xvjf linux-2.6.24.tar.bz2
ln -s linux-2.6.24 linux

wget http://nchc.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.17.tar.gz
wget http://jaist.dl.sourceforge.net/sourceforge/l7-filter/l7-protocols-2008-01-16.tar.gz

wget http://iptables.org/projects/iptables/files/iptables-1.4.0.tar.bz2

tar xvzf l7-protocols-2008-01-16.tar.gz
tar xvzf netfilter-layer7-v2.17.tar.gz
tar xvjf iptables-1.4.0.tar.bz2
ln -s iptables-1.4.0 iptables

3. patch linux kernel & iptables with l7-filter

cd /usr/src/linux
patch -p1 < ../netfilter-layer7-v2.17/kernel-2.6.22-2.6.24-layer7-2.17.patch
cd ../iptables
patch -p1 < ../netfilter-layer7-v2.17/iptables-1.4-for-kernel-2.6.20forward-layer7-2.17.patch
chmod +x extensions/.layer7-test

4. config and compile kernel

cd /usr/src/linux
cp /boot/config-2.6.18-5-686 ./.config
make menuconfig

เลือกไปที่

Networking –> Networking options –> Network packet filtering framework (Netfilter) –> Core netfilter configuration
เลือกเพิ่ม
<M> Netfilter connection tracking support
<M> “layer7″ match support
  • Layer 7 debugging output


ส่วนอันอื่นที่ยังไม่ได้เลือก ก็สามารถเลือกได้ ตามต้องการ สำหรับผม ในการติดตั้งครั้งนี้ จะเลือกทุกอันเลย โดยจะเลือกเป็นโมดูล [M] ไว้ก่อน
แล้ว exit ออกมา โดยกด Esc 2 ครั้งติดๆกัน แล้วไปที่ IP: Netfilter Configuration เลือกเพิ่ม

<M> IPv4 connection tracking support (required for NAT)
<M> Full NAT

อยู่ด้านล่างสุดเลย แล้ว exit ออกมา โดยกด Esc 2 ครั้ง ไปเรื่อยๆ จนกระทั่งปรากฏหน้าจอ

Do you wish to save your new kernel configuration?

ให้กด Enter เพื่อบันทึกค่าคอนฟิก

5. คอมไพล์และสร้าง kernel image ใหม่ ขั้นตอนนี้ต้องรอนานหน่อยนะครับ

make-kpkg clean
make-kpkg --initrd --append-to-version=-l7 kernel_image kernel_headers

6. หลังจากรอคอยมานาน ต่อไปก็ติดตั้ง kernel ใหม่

cd /usr/src
dpkg -i linux-image-2.6.24-l7_2.6.24-l7-10.00.Custom_i386.deb
dpkg -i linux-headers-2.6.24-l7_2.6.24-l7-10.00.Custom_i386.deb

ตรวจสอบไฟล์ /boot/grub/menu.lst ว่าค่า default เป็นเคอร์เนลที่ติดตั้งใหม่

shutdown -r now

8. คอมไพล์และติดตั้ง iptables

cd /usr/src/iptables
make KERNEL_DIR=/usr/src/linux
make install
mv /usr/src/l7-protocols-2008-01-16 /etc/l7-protocols

9. คอมไพล์และติดตั้ง ipp2p

cd /usr/src
wget http://ipp2p.org/downloads/ipp2p-0.8.2.tar.gz
wget http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/net-firewall/ipp2p/files/ipp2p-0.8.2-kernel-2.6.22.patch
wget http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/net-firewall/ipp2p/files/ipp2p-0.8.2-iptables-1.4.0.patch
tar xvzf ipp2p-0.8.2.tar.gz

cp -a ipp2p-0.8.2 ipp2p-0.8.2.orig
cd ipp2p-0.8.2
patch -p1 <../ipp2p-0.8.2-kernel-2.6.22.patch
patch -p1 <../ipp2p-0.8.2-iptables-1.4.0.patch

# ถ้าใช้ ld จะมีปัญหาในการโหลดโมดูล แก้ให้ใช้ gcc ที่บรรทัดท้ายๆของไฟล์ Makefile

vi Makefile

libipt_ipp2p.so: libipt_ipp2p.c ipt_ipp2p.h
$(CC) $(CFLAGS) $(IPTABLES_OPTION) $(IPTABLES_INCLUDE) -fPIC -c libipt_ipp2p.c
@# ld -shared -o libipt_ipp2p.so libipt_ipp2p.o
$(CC) -shared -o libipt_ipp2p.so libipt_ipp2p.o

clean:
-rm -f *.o *.so *.ko .*.cmd *.mod.c
endif

make
cp libipt_ipp2p.so /usr/local/lib/iptables/
cp ipt_ipp2p.ko /lib/modules/2.6.24-l7/kernel/net/netfilter/
depmod -a

11. Test

iptables -A FORWARD -m ipp2p --ipp2p -j DROP
iptables -A FORWARD -m layer7 --l7proto bittorrent -j DROP

mydebian:/usr/src/ipp2p-0.8.2# iptables -nvL
Chain INPUT (policy ACCEPT 1116 packets, 82622 bytes)
pkts bytes target prot opt in out source destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DROP all — * * 0.0.0.0/0 0.0.0.0/0 ipp2p v0.8.2 –ipp2p
0 0 DROP all — * * 0.0.0.0/0 0.0.0.0/0 LAYER7 l7proto bittorrent

Chain OUTPUT (policy ACCEPT 664 packets, 91251 bytes)
pkts bytes target prot opt in out source destination

mydebian:/usr/src/ipp2p-0.8.2# lsmod | egrep 'ipp2p|layer7'
xt_layer7 11236 1
nf_conntrack 62720 2 nf_conntrack_ipv4,xt_layer7
ipt_ipp2p 6848 1
x_tables 14372 3 xt_layer7,ipt_ipp2p,ip_tables

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

Вот назрел вопрос - где нарыть исходники текущего ядра со всеми патчами и сделать этуже процедуру для них ?
« Последнее редактирование: 11 Июнь 2008, 04:08:30 от Scorpikor »

Оффлайн alukar

  • Любитель
  • *
  • Сообщений: 88
  • ПСИХ
    • Просмотр профиля
Re: P2P Сети и борьба с ними на роутере с Ubuntu
« Ответ #2 : 11 Июнь 2008, 10:32:14 »
А не проще  порты закрыть ?

Оффлайн Scorpikor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: P2P Сети и борьба с ними на роутере с Ubuntu
« Ответ #3 : 11 Июнь 2008, 21:41:49 »
А не проще  порты закрыть ?
Эх - еслиб пиринг работал по одним и темже портам - то было б проще их закрыть - а так  прийдется вылавливать из всего потока трафика... :-[

Оффлайн Otetz

  • Активист
  • *
  • Сообщений: 455
    • Просмотр профиля
Re: P2P Сети и борьба с ними на роутере с Ubuntu
« Ответ #4 : 14 Июнь 2008, 19:25:01 »
Скорее всего, в оффисе :) Больше п2п резать негде и незачем :)
Anything, that MAY go wrong, WILL go wrong...

Оффлайн Nick F0x

  • Активист
  • *
  • Сообщений: 317
  • Или ты имеешь мир, или наоборот, третьего не дано.
    • Просмотр профиля
    • f0x.ru
Re: P2P Сети и борьба с ними на роутере с Ubuntu
« Ответ #5 : 14 Июнь 2008, 21:40:10 »
отключить нафиг NAT, оставить только http-прокси, такое решение в тех же целях экономии трафика мне когда-то пришлось принять.

Оффлайн Stiff

  • Активист
  • *
  • Сообщений: 677
    • Просмотр профиля
Re: P2P Сети и борьба с ними на роутере с Ubuntu
« Ответ #6 : 14 Июнь 2008, 22:10:43 »
можно просто жёстко запретить входящие соединения, без них p2p работают плохо или вообще не работают.
Ну и разрешить доступ только по стандартным портам

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1295
    • Просмотр профиля
Re: P2P Сети и борьба с ними на роутере с Ubuntu
« Ответ #7 : 15 Июнь 2008, 11:24:55 »
А как будет себя чувствовать skype?
В  принципе можно его прогнать через прокси + перекрыть все порты кроме стандартных и ждать когда позвонит "игрок" или кто еще с какой нить специфической программой.
Как решение проблем с p2p подойдет?
"*nix нужен в первую очередь тем, кто сам МОЖЕТ, и самое главное ХОЧЕТ думать" (с)mechanic

Оффлайн Scorpikor

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: P2P Сети и борьба с ними на роутере с Ubuntu
« Ответ #8 : 16 Июнь 2008, 02:36:16 »
Сеть офисная - думаю всетаки более гибкое решение будет пропатчить ядро с IPP2P  чтоб потом можно было оперировать с пиринговым трафиком . На сервере настроен прозрачный прокси  - оставить только HTTP не проблема -  но  тогда перестанет работать куча всего, если открыть только порты нужных программ - то где гарантия что пиринг не пойдет через них ?
Сейчас пробую наложить правильно патч на ядро  - если все получится - отпишусь  :D
« Последнее редактирование: 16 Июнь 2008, 02:39:00 от Scorpikor »

Оффлайн DeadMeat

  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Re: P2P Сети и борьба с ними на роутере с Ubuntu
« Ответ #9 : 16 Июнь 2008, 09:14:19 »
будут качать по http  :2funny:

Оффлайн Tokh

  • Активист
  • *
  • Сообщений: 705
    • Просмотр профиля
Re: P2P Сети и борьба с ними на роутере с Ubuntu
« Ответ #10 : 16 Июнь 2008, 09:47:46 »
Заменим слово офис на "перепродавец канала в дачном посёлке, прикрывающий себе тылы, или у которого клиент занял своим торентом сразу весь канал".

Заявили вышел новый Амул, что-то там было связанное с шифрованием... Ограничивать обмен неправильно. Шейпировать и снижать скорость, до той чтобы хватило на всех - правильно.
StarDict и Mueller помогут против английского мануала.

Оффлайн Yuri77

  • Активист
  • *
  • Сообщений: 271
    • Просмотр профиля
Re: P2P Сети и борьба с ними на роутере с Ubuntu
« Ответ #11 : 16 Июнь 2008, 11:45:04 »
Описание опции скрытия протокола в emule:
http://www.emule-project.net/home/perl/help.cgi?l=1&rm=show_topic&topic_id=848
С этим-то как можно бороться?

 

Страница сгенерирована за 0.059 секунд. Запросов: 22.