Linux за българи: Форуми

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: snagles в Jan 21, 2009, 14:17



Титла: iptables
Публикувано от: snagles в Jan 21, 2009, 14:17
Здравейте,

относно организацията на интерфейсите, не мога да намеря решение на следния въпрос. Имам NAT на федора, който до сега си работи без проблеми, като прави НАТ от интернет, към вътрешна мрежа 192.168.0. В момента искам да вдигна втора вътрешна мрежа, като реших да добавя още един етернет. Добавих картата, и я вдигнах с IP 192.168.1.1. В момента и през двете карти може да се излезне в интернет. Това ме задоволява. Нещото което не ме задоволява е това, че двете мрежи по междуси се виждат, а това е проблем. Не трябва да се виждат.
Конфигурацията е:

eth0 - internet
eth1 - 192.168.0.1 netmask 255.255.255.0
eth2 - 192.168.1.1 netmask 255.255.255.0

В момента вдигам НАТа с: $IPTABLES -t nat -A POSTROUTING -o $EXTIF -j SNAT --to $EXTIP

Нещото което ми идва на акъла да се виждат двете мрежи е това че се затварят през eth0. А може би и не казах, че това са 2 мрежи, които вървят в общи суичове и кабели. Или образно казано в една корпоративна мрежа да си представим, че отделите се разделят и всеки си минава в своя вътрешна мрежа като в мрежата компютрите на отдела се виждат, а отделите по между си не се виждат. Много корпоративно прозвуча, но това беше първото което ми дойде на ум.

Благодаря предварително за всякаква идея.


Титла: Re: iptables
Публикувано от: VladSun в Jan 21, 2009, 14:30
Трябва да забраниш FORWARD-а между тях:
Код
GeSHi (Bash):
  1. iptables -I FORWARD -i eth1 -o eth2 -j DROP
  2. iptables -I FORWARD -i eth2 -o eth1 -j DROP

Предполагам, че имаш някъде правило за ACCEPT на всички пакети във FORWARD веригата или политиката по подразбиране на тази верига ти е такава.


Титла: Re: iptables
Публикувано от: laskov в Jan 21, 2009, 15:16
Не е било необходимо да слагаш втора мрежова карта. Можело е да добавиш втория IP адрес (alias) към съществуващата. Ако суичовете са управляеми виж дали могат да се правят vlan. Тогава ще е важно мрежовата карта и драйвера на рутера да позволяват MTU да е 1504. Правиш два отделни vlan-a, а защо не и повече и ... шапка на тояга.
Код
GeSHi (Bash):
  1. modprobe 8021q
  2. vconfig add eth1 3
  3. ifconfig eth1.3 192.168.1.1 netmask 255.255.255.0
  4. vconfig add eth1 161
  5. ifconfig eth1.161 192.168.161.1 netmask 255.255.255.0
  6.  


Титла: Re: iptables
Публикувано от: shadowx в Jan 21, 2009, 16:38
echo "1" > /proc/sys/net/ipv4/ip_forward
?


Титла: Re: iptables
Публикувано от: snagles в Jan 21, 2009, 17:42
VLan не става, защото суичовете са от по 20 кинта не става този вариант. Ще пробвам варианта с спиране на forward_a между мрежите, както предложи VladSun. Лошото е че днскеша е на 192.168.0.1, но ще вдигна още един кеш за другата мрежа.


Титла: Re: iptables
Публикувано от: @vankata в Jan 27, 2009, 23:06
В един ред:
iptables -I FORWARD -i ! eth0 -o ! eth0 -j DROP

Трябва да забраниш FORWARD-а между тях:
Код
GeSHi (Bash):
  1. iptables -I FORWARD -i eth1 -o eth2 -j DROP
  2. iptables -I FORWARD -i eth2 -o eth1 -j DROP

Предполагам, че имаш някъде правило за ACCEPT на всички пакети във FORWARD веригата или политиката по подразбиране на тази верига ти е такава.


Титла: Re: iptables
Публикувано от: VladSun в Jan 27, 2009, 23:17
Решаваш частен случай, а не общ ...
Помисли какво ще стане, ако се вдигне още един или няколко интерфейса, за които трябва друга политика ;)


Титла: Re: iptables
Публикувано от: diel в Feb 03, 2009, 20:34
Insert преди това правило на съответната политика :-)
примерно
Решаваш частен случай, а не общ ...
Помисли какво ще стане, ако се вдигне още един или няколко интерфейса, за които трябва друга политика ;)


Титла: Re: iptables
Публикувано от: VladSun в Feb 03, 2009, 21:10
Insert преди това правило на съответната политика :-)
примерно
Решаваш частен случай, а не общ ...
Помисли какво ще стане, ако се вдигне още един или няколко интерфейса, за които трябва друга политика ;)

Да - с други думи правиш "спагети код" в bash :)
Мисълта ми е, че не би трябвало промяна на едно нещо да влияе на неща, които изобщо не са свързани с него.
Нещата трябва да се правят чисто и с възможно най-малко зависимости.