Автор Тема: прост въпрос относно рутиране  (Прочетена 1427 пъти)

proxye

  • Участници
  • ***
  • Публикации: 5
    • Профил
Машината е Slackware 10.1.0 която рутира нет на няколко машини. Проблема е че искам да разреша нет само на две машини от една мрежа но не знам как. Моля за нужното правило посредством iptables. На рутера към машините
ip-192.168.1.1 mask-255.255.255.0. Машините които искам да имат нет са 192.168.1.10 и 192.168.1.20. Всички останали не трябва да получават нет. В момента системата работи но за цялата група.
Надявам че сте ме разбрали какво искам!
Благодаря предварително!
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
прост въпрос относно рутиране
« Отговор #1 -: Mar 20, 2007, 10:21 »
Преполагам имаш някакво ей такова правило:

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source X.X.X.X

Смени го ей така:

iptables -t nat -A POSTROUTING -s 192.168.1.10 -j SNAT --to-source X.X.X.X
iptables -t nat -A POSTROUTING -s 192.168.1.20 -j SNAT --to-source X.X.X.X

М/у другото нямаше да е лошо да си пуснеш цялата защитна тук, по-лесно се помага като знаеш какво е положението...



Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3182
    • Профил
прост въпрос относно рутиране
« Отговор #2 -: Mar 20, 2007, 11:38 »
... ако пък имаш
Цитат
EXTERNAL=интерфейс навън
INTERNAL=интерфейс навътре
iptables -A FORWARD -o $EXTERNAL -i $INTERNAL -j ACCEPT
направи
Цитат
iptables -A FORWARD -o $EXTERNAL -i $INTERNAL -p tcp -s 192.168.1.10 -j ACCEPT
iptables -A FORWARD -o $EXTERNAL -i $INTERNAL -p tcp -s 192.168.1.20 -j ACCEPT
Така ще разрешиш само техните заявки към навън. Трябва да имаш и
Цитат
iptables -P FORWARD DROP
за да спираш всички останали.
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

proxye

  • Участници
  • ***
  • Публикации: 5
    • Профил
прост въпрос относно рутиране
« Отговор #3 -: Mar 20, 2007, 11:57 »
Благодаря че се отзовахте.
#!/bin/bash

export PTH=/proc/sys/net/ipv4
iptables -F
iptables -F -t nat
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables -P FORWARD ACCEPT
iptables -P INPUT DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
echo 1 > $PTH/ip_forward
echo 1 > $PTH/tcp_syncookies

Това ми е конфига и не ми се иска да го променям много. Какво трябва да добавя в този случай?
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
прост въпрос относно рутиране
« Отговор #4 -: Mar 20, 2007, 12:36 »
Не си много защитен така м/у другото....


Примерен код

#!/bin/bash

export PTH=/proc/sys/net/ipv4
iptables -F
iptables -F -t nat

iptables -P INPUT DROP
iptables -P FORWARD DROP

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

iptables -A FORWARD -s 192.168.1.10 -d ! 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.1.20 -d ! 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -t nat -А POSTROUTING --out-interface eth0 -s 192.168.1.10 -j MASQUERADE
iptables -t nat -А POSTROUTING --out-interface eth0 -s 192.168.1.20 -j MASQUERADE

echo 1 > $PTH/ip_forward
echo 1 > $PTH/tcp_syncookies



много набързо е това
Активен

proxye

  • Участници
  • ***
  • Публикации: 5
    • Профил
прост въпрос относно рутиране
« Отговор #5 -: Mar 20, 2007, 13:34 »
#!/bin/bash

export PTH=/proc/sys/net/ipv4
iptables -F
iptables -F -t nat

iptables -P INPUT DROP
iptables -P FORWARD DROP

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -s 80.80.130.0/22 -j ACCEPT

iptables -A FORWARD -s 192.168.1.10 -d ! 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.1.20 -d ! 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -t nat -А POSTROUTING --out-interface eth0 -s 192.168.1.10 -j MASQUERADE
iptables -t nat -А POSTROUTING --out-interface eth0 -s 192.168.1.20 -j MASQUERADE

echo 1 > $PTH/ip_forward
echo 1 > $PTH/tcp_syncookies

Така дотук добре но ако реша да рутирам още една мрежа например 80.80.130.0/22 като добавя още едно Ip на интерфейса към клиентите достатъчно ли е да добавя само "iptables -A INPUT -s 80.80.130/22 -j ACCEPT" ,както съм дописал по горе?
Това ако искам клиентите от тази мрежа да имат всички интернет.
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
прост въпрос относно рутиране
« Отговор #6 -: Mar 20, 2007, 13:57 »
Не. INPUT веригата е за пакети, които са до машината, която маршрутизира. Пакетите, които се препращат (т.е. от някой си от вътрешната мрежа до някой си в интернет) минават през FORWARD (също и през nat таблицата - PREROUTING/POSTROUTING веригите).

Малко подозрително ми се вижда това как ще закачиш 192.168.1.0/24 и 80.80.130.0/22 за един интерфейс... Не че не може, но дали е това което искаш да направиш...
Активен

proxye

  • Участници
  • ***
  • Публикации: 5
    • Профил
прост въпрос относно рутиране
« Отговор #7 -: Mar 20, 2007, 14:44 »
Ако съм решил все пак да направя това тогава какво друго трябва да допиша в конфига за да се рутира и всичко от допълнителната(80.80.130.0/22) мрежа?
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
прост въпрос относно рутиране
« Отговор #8 -: Mar 20, 2007, 15:03 »
Мда. Трябват правила във FORWARD веригата. В PRE/POSTROUTING няма нужда, т.к. предполагам не ти е целта да маскираш адресите от 80.80.130.0.
Активен

proxye

  • Участници
  • ***
  • Публикации: 5
    • Профил
прост въпрос относно рутиране
« Отговор #9 -: Mar 20, 2007, 15:21 »
80.80.130.0/22 беше само примерна мрежа да не те подвежда че са публични ip адреси. Да адресите искам да са маскирани. Съжелявам ако съм те объркал коригирам се мрежата да е примерно 10.10.10.0/24.
Активен