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

Linux секция за начинаещи => Настройка на програми => Темата е започната от: Hel1Fire в Nov 07, 2004, 12:29



Титла: Masquarding
Публикувано от: Hel1Fire в Nov 07, 2004, 12:29
Niakoi ste moze li da mi kaze kakvi sa modulite na 2.6.9 (moze i na 2.4.22), koito triabva da se vkliu4at za masquarding, kakto i kakvo to4no triabva da napisha na iptables za masquarding-a. Probval sum s:

# iptables -P FORWARD DENY
iptables: Bad policy name
# iptables -A FORWARD -i eth1 -j MASQ
iptables v1.2.8: Couldn't load target `MASQ':/usr/lib/iptables/libipt_MASQ.so: cannot open shared object file: No such file or directory

Try `iptables -h' or 'iptables --help' for more information.

Oba4e kakto vizdate dava greshki i v kraina smetka sum leko oburkan kude mi e greshkata, zastoto drugia komp ima dostup do moia ama niama net. Drugite raboti sum gi nastroil. Triabva samo da se opraviat iptables-a i eventualno iadroto ako ne sum vkliu4il ipmasquarding.

PS: sorry 4e pisha na latinica, no oste ne sum si opravil kirilicata na linux-a.


Титла: Masquarding
Публикувано от: в Nov 07, 2004, 12:32
ПИШИ НА КИРИЛИЦА


Титла: Masquarding
Публикувано от: в Nov 07, 2004, 13:00
http://d.linux-bg.org/index.php?folder=docs%2FHowTo/NetFilter2.4


Титла: Masquarding
Публикувано от: Филип Бонев в Nov 07, 2004, 13:07
Мисля, че малко си объркал ipchains с iptables. Иначе горния линк е добре да го видиш.

ето един пример:
Цитат

iptables -A FORWARD -i $INT_IF -o $EXT_IF -j ACCEPT
iptables -t nat -A POSTROUTING -o $EXT_IF -j MASQUERADE


Титла: Masquarding
Публикувано от: Hel1Fire в Nov 09, 2004, 16:41
Takaa... Zna4i napravil sum go tova s iptables ama problema e, 4e tozi put kato se opitam da ping-na vunshnata mreza mi dava Destination host unreachable i ne znam kvo da pravia i kude e problema ve4e!!!! Uz vsi4ko e napraveno kato horata ama ne stava!!?! Da ne bi da triabva da imam realno IP v internet, a ne da sum prez ruter?!? Vupreki, 4e ne mi sa viarva tova da e problema!

iptables -A FORWARD -i $INT_IF -o $EXT_IF -j ACCEPT
iptables -t nat -A POSTROUTING -o $EXT_IF -j MASQUERADE


Титла: Masquarding
Публикувано от: Hel1Fire в Nov 09, 2004, 18:10
Dobre vizte sega... Tova mi e skripta za firewall i puskane na IP Masquerding-a. Vsi4ko ba4ka bez problemi: ne dava nikakvi greshki!!! Na eth1 mi e vutreshnata mreza (192.168.1.1) a na eth0 mi e internet-a... Na linux-a vsi4ko si ba4ka bez problemi, a susto i drugia komp se vurzva kum linux-a, NO ne moze da ping-ne vunsnata mreza, kamoli puk internet da ima... Kum neta se zaka4am prez gateway. Napravil sum nastroikite za mrezata na eth0 -> gateway, DNS, IP. Vsi4ko triabva da e nared ama ne e!!! Ve4e vtori den go mu4a i mi pisna!! PLsss kazete kude gresha i kvo triabva da napravia oste. Mezdu drugoto v script-a po dolu sum probval i da smenia EXTIF="eth0" i INTIF="eth1" oba4e efekta e sustia!! Kato ping-na vunsnata mreza i mi dava Destination Host Unreachable!!! Prosto niamam niakakvi idei kakvo stava i kude gresha!!

#!/bin/sh
# rc.firewall-2.4
FWVER=0.63
echo -e "\n\nLoading simple rc.firewall version $FWVER..\n"
IPTABLES=/usr/sbin/iptables
EXTIF="eth1"
INTIF="eth0"
echo "   External Interface:  $EXTIF"
echo "   Internal Interface:  $INTIF"
echo -en "   loading modules: "
echo "  - Verifying that all kernel modules are ok"
/sbin/depmod -a
echo -en "ip_tables, "
/sbin/insmod ip_tables
echo -en "ip_conntrack, "
/sbin/insmod ip_conntrack
echo -en "ip_conntrack_ftp, "
/sbin/insmod ip_conntrack_ftp
echo -en "ip_conntrack_irc, "
/sbin/insmod ip_conntrack_irc
echo -en "iptable_nat, "
/sbin/insmod iptable_nat
echo -en "ip_nat_ftp, "
/sbin/insmod ip_nat_ftp
echo ".  Done loading modules."
echo "   enabling forwarding.."
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "   enabling DynamicAddr.."
echo "1" > /proc/sys/net/ipv4/ip_dynaddr
echo "   clearing any existing rules and setting default policy.."
$IPTABLES -P INPUT ACCEPT
$IPTABLES -F INPUT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -F OUTPUT
$IPTABLES -P FORWARD DROP
$IPTABLES -F FORWARD
$IPTABLES -t nat -F
echo "   FWD: Allow all connections OUT and only existing and related ones IN"
$IPTABLES -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -A FORWARD -j LOG
echo "   Enabling SNAT (MASQUERADE) functionality on $EXTIF"
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
echo -e "\nrc.firewall-2.4 v$FWVER done.\n"


Титла: Masquarding
Публикувано от: Bogo в Nov 09, 2004, 18:24
предпоследния ред
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


Титла: Masquarding
Публикувано от: Hel1Fire в Nov 09, 2004, 18:31
Niama!! NE stava!! Sega dava Request Timed out. Skoro ste sa grumna.....


Титла: Masquarding
Публикувано от: Hel1Fire в Nov 10, 2004, 01:28
Horaa plsss. Mnogo sum na zor. Plss pomognete.... Niamam niakakva  ideia kude e problema!!


Титла: Masquarding
Публикувано от: philip в Nov 10, 2004, 01:39
Имам страхотна идея - що не си компилираш всички netfilter модули в ядрото и след това просто да използаш firestarter - то си взима каквото му трябва. ако ти трябва за desktop система ще е перфектно.

Примерен код
root@darkstar:/home/philip# firestarter

(firestarter:2778): GnomeUI-WARNING **: While connecting to session manager:
Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed.
NETFILTER detected
Firewall started
Hit filtered: Someone else's problem
Hit filtered: Someone else's problem


Титла: Masquarding
Публикувано от: avatar3000 в Nov 10, 2004, 10:00
iptables скрипта ми изглежда ок. А сложил ли си маршрут по подразбиране в рутинг таблицата? Дай командата route и виж кво ти дава. Освен двата ти интерфейса трябва да имаш и този ред
default (ip-то на външния интерфейс) 0.0.0.0 (разни флагове - UG 0 0 0) eth0
Може да се наложи да направиш това и на задната машина.

Ооопс, пич сега видях какво си оплескал. Обърнал си интерфейсите. Уф, още спя май :) Трябва да е.
EXTIF="eth0"
INTIF="eth1"
При Forward трябва да е така:
$IPTABLES -A FORWARD -i (външен) -o (вътрешен) -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i (вътрешен)  -o (външен) -j ACCEPT
При NAT трябва да е:
$IPTABLES -t nat -A POSTROUTING -o (външен) -j MASQUERADE
Успех!


Титла: Masquarding
Публикувано от: Hel1Fire в Nov 10, 2004, 14:06
По принцип скрипта беше така:
EXTIF="eth0"
INTIF="eth1"
Обаче тъй като не вървеше пробвах да го сменя, но ефекта е същия. Това го бях написал между другото. Незнам иначе къде е проблема. Да не би да ми триябва реално IP? Съмнявам се де. Routing таблицата ми е наред. Оправил съм и ifconfig-a. Нямам никаква представа!?! Или ми дава като ping-на: Destination host unreachable или Request timed out.  Първото го даваше като iptables скрипта беше както трябва т.е.
EXTIF="eth0"
INTIF="eth1"
Вярно, че засичат мак адресите на лан картите, но това не трябва да шречи, защото masquerade-инга си препраща пакетите през eth0 и вътрешната мрежа на се показва!!! Между другото пробвах да го правя това с рутер: toshiba wrc-1000 и ефекта беше същия (многоо ще ме яд ако не мога да го направя под линукс, защото бях много против рутера...)


Титла: Masquarding
Публикувано от: avatar3000 в Nov 10, 2004, 14:41
Пич, изпуснах нишката...
Сега малко критика от мен, която трябваше по-рано да я направя.
Когато имаш проблем дефинирай го точно и ясно, като опишеш конфигурацията си - какво искаш да направиш, какви са ти интерфейсите, какви настройки си направил...
Хората във форума не са медиуми, а и колкото по-ясно е описан един проблем толково по-лесно е да се разреши.
Сега отностно проблема...
Да кажем, че за всичко е виновен iptables скрипта ти. Ми вземи тогава и го опрости, така че да пуснеш всичко да минава. Нека всички политики да са ACCEPT и да няма други правила за разни интерфейси...
Ако и сега не стане значи проблема не е в iptables.
(Между другото може и логовете да погледнеш)
Тогава трябва да започнем от начало стъпка по стъпка и да изолираме причината. Друг начин няма.


Титла: Masquarding
Публикувано от: Hel1Fire в Nov 10, 2004, 15:08
Такаа... Ще започна отначало. Компа ми е Duron 1.6; 256 DDR; GeForce 440 MX 64 Mb DDR (tova nadali e vazno); 2 LAN karti - едната вградена. Искам да си направя една мрежа и сървър, който да ми цепи нета с masquerding. Педалите, който ми дават нета засичат mac адресите на лан картите, за да не може да се вързват други компове. На мен ми е засечен адреса на вградената карта. Задал съм 192.168.1.1 на eth1. Gateway; DNS; IP (да кажем x.x.x.x) са зададени на eth0 (това е външната мрежа). Вече дадох iptables script-a. Линукса си има интернет, а другия комп, който е вързан към eth1 има достъп до линукса (може да пингва 192.168.1.1, дори сваля от самба сървъра, който бях направил, а също така може да пингне и x.x.x.x (IP -то на линукса във външната мрежа)), но нищо друго. Като се пробвам да пингна gateway-а на доставчика не може. Дава destination host unreachable или нещо от сорта.


Титла: Masquarding
Публикувано от: Филип Бонев в Nov 10, 2004, 19:22
Здравей, има един много елементарен скрипт в IP-Masquarding-HOWTO, защо не го пробваш и да кажеш, дали работи.

Иначе, принципно:
1. Пускаш Нета на първия комп
2. echo 1 > /proc/sys/net/ipv4/ip_forward
2. Пускаш си masq
3. Слагаш на втория комп dns и gateway(gateway да ти е първия комп)
4. Нета тръгва, ако съм изпуснал някоя стъпка братя казвайте.

ПП: Иначе скрипта ти изглежда добре.


Титла: Masquarding
Публикувано от: dope_hat в Nov 10, 2004, 19:27
echo -n "Masquerading... "
/usr/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
echo -n "OK"; echo;
дефакто ти трябва реда само /usr/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
#Ако примерно локалната ти мрежа е 192.168.0.Х, а в твоя случай е :
/usr/sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

Успех,


Титла: Masquarding
Публикувано от: Hel1Fire в Nov 14, 2004, 19:42
Е разбрах къде е шибания проблем. Сега сте се пробвам да го оправям. Четох тука някаква тема във форума по проблема, че трябва да се слага пач за iptables и само да вляза под Линукс и ще се захващам.
Ето го и проблема: тъпия провайдър ми слага TTL=0. Ако пак има нещо ще се обадя.  :p


Титла: Masquarding
Публикувано от: Hel1Fire в Nov 16, 2004, 12:43
Такаа. Оправих го и всичко върви като хората (или поне така изглежда  :p ). Има един пост във форума за ТТЛ. Ако някой има проблеми с това да го види. За съжаление усилията ми бяха излишни, защото в крайна сметка решиха да не се купува сървър (може би, защото мислят, че ще съм неспособен да го администрирам  :(  ). Както и да е. Поне беше един хубав опит...


Титла: Masquarding
Публикувано от: Филип Бонев в Nov 16, 2004, 13:32
Само да вметна че в iptables-1.2.11 от патч няма нужда, само насочваш към -J TTL -ttl-set 64 примерно и си готов. За линукс е 64, за уиндоус 128