Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   iptables (http://forum.oszone.net/showthread.php?t=12832)

xamelion 10-05-2004 22:42 68456

#!/bin/sh
IPT=/sbin/iptables
$IPT -F INPUT
$IPT -F FORWARD
$IPT -F OUTPUT
$IPT -A INPUT -i eth0 -p tcp -s 0/0 --sport 0:65535 -d 0/0 --dport 80 -j ACCEPT
$IPT -A INPUT -i eth0 -p tcp -s 0/0 --sport 0:65535 -d 0/0 --dport 22 -j ACCEPT
$IPT -A INPUT -i eth0 -p tcp -s 0/0 --sport 0:65535 -d 0/0 --dport 0:65535 -j DROP

$IPT -A INPUT -i eth0 -p udp -s 0/0 --sport 0:65535 -d 0/0 --dport 27500:27515 -j ACCEPT
$IPT -A INPUT -i eth0 -p udp -s 0/0 --sport 0:65535 -d 0/0 --dport 0:65535 -j DROP

# $IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.99 --sport 0:65535 -d 0/0 --dport 0:65535 -j DROP # zero

$IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.99 --sport 0:65535 -d 10.0.0.0/0 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.99 --sport 0:65535 -d 10.105.7.193/24 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.99 --sport 0:65535 -d 194.135.50.138 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.99 --sport 0:65535 -d 194.135.50.138 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.99 --sport 0:65535 -d 10.104.40.199 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.99 --sport 0:65535 -d 10.102.45.199 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.99 --sport 0:65535 -d 194.135.50.188 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.99 --sport 5190 -d 64.12.25.145 --dport 0:65535 -j ACCEPT #ICQ

$IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.99 --sport 0:65535 -d 0/0 --dport 0:65535 -j DROP
$IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.99 --sport 0:65535 -d 0.0.0.0 --dport 0:65535 -j DROP

$IPT -A FORWARD -i eth1 -p udp -s 128.1.1.99 --sport 0:65535 -d 10.0.0.0 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p udp -s 128.1.1.99 --sport 0:65535 -d 10.105.7.193/24 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p udp -s 128.1.1.99 --sport 0:65535 -d 194.135.50.138 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p udp -s 128.1.1.99 --sport 0:65535 -d 194.135.50.138 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p udp -s 128.1.1.99 --sport 0:65535 -d 10.104.40.199 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p udp -s 128.1.1.99 --sport 0:65535 -d 10.102.45.199 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p udp -s 128.1.1.99 --sport 0:65535 -d 194.135.50.188 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p udp -s 128.1.1.99 --sport 0:65535 -d 0/0 --dport 0:65535 -j DROP

$IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.77 --sport 0:65535 -d 0/0 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.10 --sport 0:65535 -d 0/0 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.13 --sport 0:65535 -d 0/0 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p tcp -s 0/0 --sport 0:65535 -d 0/0 --dport 0:65535 -j DROP

$IPT -A FORWARD -i eth1 -p udp -s 128.1.1.77 --sport 0:65535 -d 0/0 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p udp -s 128.1.1.10 --sport 0:65535 -d 0/0 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p udp -s 128.1.1.13 --sport 0:65535 -d 0/0 --dport 0:65535 -j ACCEPT
$IPT -A FORWARD -i eth1 -p udp -s 0/0 --sport 0:65535 -d 0/0 --dport 0:65535 -j DROP

# $IPT -A INPUT -i eth0:1 -p tcp -s 0/0 --sport 0:65535 -d 0/0 --dport 80 -j ACCEPT
# $IPT -A INPUT -i eth0:1 -p tcp -s 0/0 --sport 0:65535 -d 0/0 --dport 22 -j ACCEPT
# $IPT -A INPUT -i eth0:1 -p tcp -s 0/0 --sport 0:65535 -d 0/0 --dport 0:65535 -j DROP
# $IPT -A INPUT -i eth0:1 -p udp -s 0/0 --sport 0:65535 -d 0/0 --dport 27500:27515 -j ACCEPT
# $IPT -A INPUT -i eth0:1 -p udp -s 0/0 --sport 0:65535 -d 0/0 --dport 0:65535 -j DROP



вот так выглядит моя таблица, теперь проблема
у провайдера есть сеть, ее адреса 10.х.х.х, линукс цепляется к этой сети, в которой соответственно есть интернет, все это приходит на eth0
еще один интерфейс, т.е. eth1 приходит на сеть, с адресами 128.х.х.х
Компьютер 128.1.1.99 надо отключить от инета, но что бы мог пользоватся лишь некоторыми серверами в интернете, и внутренней сетью на 10.х.х.х
С компьютера 128.1.1.99 почему то открывается весь инет, любые сайты...
почему? и что не так ?

[s]Исправлено: xamelion, 22:44 10-05-2004[/s]

JeweL 11-05-2004 11:54 68457

$IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.99 --sport 0:65535 -d 10.0.0.0/0 --dport 0:65535 -j ACCEPT
- это правило ни о чем не говорит? Оно и открывает доступ к любым хостам/портам по tcp

xamelion 11-05-2004 14:53 68458

JeweL
$IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.99 --sport 0:65535 -d 10.0.0.0/0 --dport 0:65535 -j ACCEPT

Может я действительно не прав, но я это понимаю как условие приходящие с интерфейса1 TCP с адреса 128.1.1.99 с любым портом на адрес начинающий с 10. с любой маской, с любым удаленным портом. РАЗРЕШИТЬ. Ну на скока я знаю в интернете адреса на 10 127 128 192 не могут существовать(там их на самом деле по более, но не уходим в подробности)

JeweL 11-05-2004 15:17 68459

xamelion
а так: 10.0.0.0/0 == 0.0.0.0/0 ?
1. то, что вы хотите получить, думаю пишется так: 10.0.0.0/8
2. порты 0:65535 писать необязательно, т.к. это подразумевается по-умолчанию

Добавлено:

ликбез:
маска - битовая маска, которая определяет, какая часть ip-адреса является адресом сети. В данном случае это - кол-во битов, сравниваемых с входящим адресом

xamelion 11-05-2004 15:31 68460

JeweL
Ой Ой Ой.....
надо зачитать ховто :)
меня тока смущает одна цифорка, это 8
как я понял это битнось маски... ну там много масок, у меня например 255.255.254.0, у соседа 255.255.255.0 у кого то, еще что то..... ну как бы провайдер сети разбил масками, что бы уж не сильно логало

Добавлено:

получается, что с цыфрой восем, он вообще хз кого будет видеть ?

JeweL 11-05-2004 16:44 68461

не хз. Сопоставимы будут адреса с первым октетом=10.
Почитайте про IP адрессацию и маршрутизацию

xamelion 11-05-2004 17:08 68462

JeweL
спасибо, почитаем сделаем
еще раз спасибо

glassMonk 13-05-2004 00:24 68463

JeweL
Отлично, а я глазел глазел в скрипт так и ничего не увидел :)

Тогда вот это получается повторение. Не рацеонально :)
$IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.99 --sport 0:65535 -d 0/0 --dport 0:65535 -j DROP
$IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.99 --sport 0:65535 -d 0.0.0.0 --dport 0:65535 -j DROP

xamelion 13-05-2004 12:53 68464

glassMonk
Внимательнее, в первом случае вы пропустили "#", во втором же, это последняя строчка, тоесть если все не так то не пропускать

glassMonk 14-05-2004 18:42 68465

xamelion
Да я к тому что эти две строчки выполняют одну и туже операцию.
что $IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.99 --sport 0:65535 -d 0/0 --dport 0:65535 -j DROP
что $IPT -A FORWARD -i eth1 -p tcp -s 128.1.1.99 --sport 0:65535 -d 0.0.0.0 --dport 0:65535 -j DROP
ведь одно и тоже.


Время: 01:24.

Время: 01:24.
© OSzone.net 2001-