Здравейте!
Искам да попитам за един проблем на една мрежа, ако някой може да ми помогне ще съм благодарен.
Инсталирам Федора 2 на една машина, която трябва да бъде рутер и да прави NAT. Мрежата има пул от явни адреси х.х.74.176 255.255.255.240.
Клиентските машини (около 12-13) трябва да имат частни адреси - 192.168.0.2-14
Задачата е да се направи клиентските машини да си имат 192.168.0.х във вътрешната мрежа, но навънка всеки компютър да се вижда със собствена си явна адреса, значи да си има всеки компютър и явна от пула си х.х.х.176. (не ме питайте защо така , но така искали хората да им е мрежата)
На федората имам така:
eth0:x.x.74.178
255.255.255.240
gw x.x.74.177 (тази адреса е като алиас на главния ми рутер)
eth1 192.168.0.1
255.255.255.0
(gw не слагам нищо)
1.Разрешавам ip_forwarding v /etc/sysctl.conf слагам стойност 1 , което означава enable.
2. Правя статичен НАТ с iptables по следния начин:
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.2 -j SNAT --to x.x.74.179
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.3 -j SNAT --to x.x.74.180
.....така аналогично за всички ИП-та до х.х.74.190....
/sbin/iptables -t nat -A PREROUTING -d x.x.74.179 -j DNAT --to 192.168.0.2
/sbin/iptables -t nat -A PREROUTING -d x.x.74.180 -j DNAT --to 192.168.0.3
.....така аналогично за всички ИП-та до х.х.74.190....
Листата ми изглежда така:
[root@volt ipv4]# /sbin/iptables -t nat -L -n
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT all -- 0.0.0.0/0 х.х.74.179 to:192.168.0.2
DNAT all -- 0.0.0.0/0 х.х.74.180 to:192.168.0.3
.....така продължава аналогично до х.х.74.190....
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- 192.168.0.2 0.0.0.0/0 to:х.х.74.178
SNAT all -- 192.168.0.3 0.0.0.0/0 to:х.х.74.179
.....така продължава аналогично до х.х.74.190...
3.На клиентите настройвам така
IP:192.168.0.2
Netmask:255.255.255.0
gw.192.168.0.1
DNS:DNS-a на доставчика
И ето какво се получава:
На Федората имам интернет и пинг навънка.
Имам пинг до клиентска машина - 192.168.0.2 (примерно)
От 192.168.0.2 имам пинг до 192.168.0.1
От същата клиентска машина имам пинг и до eth0 x.x.74.178 !
Е проблема е тука че вече нямам пинг до gateway x.x.74.177 и от там натътак нищо друго!
Стана нещо много чудно, слет много опити да не съм згрешил правилата с iptables, и пробвах разни други варияанти, като само с PREROUTING, POSTROUTING, изтрих всичките правила и въведох по същия начин само за един компютър. И стана че тръгна, това беше за около една минута, и без нищо да направя пак си падна.Странно... Като нямаше , нямаше пинг клиентската машина навън оказа се че има и веднага видяхме
http://www.whatismyip.com/ ИП-то си беше явното.
Не мога да разбера каде бъркам, дали машината нещо не е както трябва, да инсталирам ли на нов линукс всичко...според мен НАТ-ването е добре, знам ли..
Опитах още нещо:
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUARADE
и всичко си работи супер! само че компютрите ползват една явна адреса, IP-то на eth0.
Благодаря за вниманието.
Поздрав.