Доброе утро. Есть 2 локальные сети: 192.168.1.0 и 192.168.20.0. В сети 192.168.20.0 стоит хранилище, которое работает через 80-й порт. Ip адрес хранилища: 192.168.20.2
Моя задача — сделать так, чтобы все компьютеры из сети 192.168.1.0 имели доступ к хранилищу.
Для того, чтобы «связать» 2 сети, был выделен компьютер с двумя сетевыми картами. На нем установил Ubuntu 12.10. первой сетевой карте выдали ip адрес 192.168.1.199, а второй сетевой карте назначили адрес 192.168.20.1.
Предполагается, что если людям из сети 192.168.1.0 понадобится «залезть» на хранилище, то они в адресной строке браузера будут вводить ip адрес 192.168.1.199.
Полезная информация:
# ifonfig
lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
p2p1 Link encap:Ethernet HWaddr 30:85:a9:44:c0:9c
inet addr:192.168.20.1 Bcast:192.168.20.255 Mask:255.255.255.0
inet6 addr: fe80::3285:a9ff:fe44:c09c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22 errors:0 dropped:0 overruns:0 frame:0
TX packets:88 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1749 (1.7 KB) TX bytes:6388 (6.3 KB)
p4p1 Link encap:Ethernet HWaddr 64:70:02:01:0a:ea
inet addr:192.168.1.199 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::6670:2ff:fe01:aea/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:9437 errors:0 dropped:1745 overruns:0 frame:0
TX packets:1242 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:830469 (830.4 KB) TX bytes:148321 (148.3 KB)
# cat /proc/sys/net/ipv4/ip_forward
1
Мои настройки iptables: iptables -t nat -A PREROUTING -p tcp -d 192.168.1.199 --dport 80 -j DNAT --to-destination 192.168.20.2:80 iptables -t nat -A POSTROUTING -p tcp --dst 192.168.20.2 --dport 80 -j SNAT --to-source 192.168.1.199
Логика такая: все, что приходит на 80-й порт ip адреса 192.168.1.199 перенаправляем на адрес 192.168.20.2, а все, что приходит с адреса 192.168.20.2 направляем на 192.168.1.199
Проблема в том, что из сети 192.168.1.0 не получается зайти на адрес 192.168.1.199 через браузер.
Отладочная информация:
# iptables -L -t nat -n
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- 0.0.0.0/0 192.168.1.199 tcp dpt:80 to:192.168.20.2:80
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT tcp -- 0.0.0.0/0 192.168.20.2 tcp dpt:80 to:192.168.1.199