PDA

Показать полную графическую версию : iptables


xamelion
10-05-2004, 22:42
#!/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 почему то открывается весь инет, любые сайты...
почему? и что не так ?

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

JeweL
11-05-2004, 11:54
$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
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
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
JeweL
Ой Ой Ой.....
надо зачитать ховто :)
меня тока смущает одна цифорка, это 8
как я понял это битнось маски... ну там много масок, у меня например 255.255.254.0, у соседа 255.255.255.0 у кого то, еще что то..... ну как бы провайдер сети разбил масками, что бы уж не сильно логало

Добавлено:

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

JeweL
11-05-2004, 16:44
не хз. Сопоставимы будут адреса с первым октетом=10.
Почитайте про IP адрессацию и маршрутизацию

xamelion
11-05-2004, 17:08
JeweL
спасибо, почитаем сделаем
еще раз спасибо

glassMonk
13-05-2004, 00:24
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
glassMonk
Внимательнее, в первом случае вы пропустили "#", во втором же, это последняя строчка, тоесть если все не так то не пропускать

glassMonk
14-05-2004, 18:42
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
ведь одно и тоже.




© OSzone.net 2001-2012