Здравствуйте все. Есть такая проблема. Есть шлюз. Соответственно два интерфейса eth0 10.239.10.251 локалная сеть, и eth1 213.87.19.170 интернет. При попытке послать пакеты в локальную сеть они почемуто идут ч внешнего ip
route -n
213.87.19.168 0.0.0.0 255.255.255.248 U 0 0 0 eth1
10.239.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 213.87.19.174 0.0.0.0 UG 0 0 0 eth1
telnet loclahost 25
Connected to localhost.localdomain (127.0.0.1).а в логах такая запись connect from unknown[213.87.19.170]
iptables -L -v -n -t nat
в студию...
>iptables -L -v -n -t nat
>в студию...
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
12752 939K SNAT all -- any any anywhere anywhere to:213.87.19.170
0 0 SNAT all -- any any anywhere anywhere to:213.87.19.170вроде начал понимать.... Спасибо
FORWARD#############
#$IPT -A FORWARD -m state --state ESTABLISHED -j ACCEPT
#$IPT -A FORWARD -m state --state INVALID -j DROP
#$IPT -t nat -A POSTROUTING -j SNAT --to-source 213.87.19.170
#$IPT -A FORWARD -i eth0 -s 10.239.10.237 -j ACCEPTПри применении этих цепочек все прпадает. При их обнулении iptables -F -t nat все нормально
...
nat не маскрад и правила у него чуть-чуть другие
$IPT -t nat -A POSTROUTING -j SNAT --to-source 213.87.19.170
вот это надо на что типа:
locnet="192.168.0.0/24"
$IPT -t nat -A POSTROUTING -s $locnet -j SNAT --to-source 213.87.19.170
вроде заработало но если я вместо localnet="10.239.10.0/24" ставлю localnet="10.239.0.0/24" тада пинг идет а форвард нет. И telent localhost 25 в логах нормально все
только вот в чем глобально различие между нат и маскарадм понять не могу
netmask покажи
>netmask покажи
255.255.255.0 для локалки и 255,255,255,248 для инет
>>netmask покажи
>
>
>255.255.255.0 для локалки и 255,255,255,248 для инет
проблема решена путем добавление в цепочку построутинг -o eth1 всем спасибо