Автор Тема: Snat и dnat през vpn  (Прочетена 7089 пъти)

muffty

  • Участници
  • ***
  • Публикации: 10
    • Профил
Snat и dnat през vpn
« -: Jun 13, 2006, 15:23 »
Здравейте,
Имам следната конфигурация - gateway1 с три интерфейса: eth0 е за интернет, eth1 с ip 192.168.168.1 е към локална мрежа 192.168.168.0/24 и eth3 с ip 192.168.130.1 е свързан с eth0 (ip 192.168.130.2) на gateway2, който към втория си интрефейс eth1 (ip 10.1.10.1) има също локална мрежа 10.1.10.0/24. Между двете локални мрежи 192.168.168.0/24 и 10.1.10.0/24 има вдигнат VPN посредством OpenSwan на двата гейтуея. Със SNAT и DNAT от интернет (gateway1) към 192.168.168.0/24 няма проблеми. Проблемът е, че не мога да пусна нито SNAT нито DNAT към мрежа 10.1.10.0/24. Възможно ли е това да стане и ако да какво допълнително ми трябва?
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Snat и dnat през vpn
« Отговор #1 -: Jun 13, 2006, 16:05 »
Аз не разбрах съвсем каква ти е целта.

Първо - защо искаш да пуснеш NAT от/към 10.1.10.0/24, и второ - защо не можеш, смисъл кое точно те спира? :)
Активен

muffty

  • Участници
  • ***
  • Публикации: 10
    • Профил
Snat и dnat през vpn
« Отговор #2 -: Jun 13, 2006, 18:03 »
Ами NAT трябва, защото имам нужда от port forwarding към някои ip-та. Също така ми трябва NAT и защото някои ip-ta трябва да излизат директно към нета (в момента ползват прокси).
А за второто - просто не тръгва. Това, което можах да проследя с tcpdump е, че пакетите излизат от eth1 на gateway2 към съответното ip от 10.1.10.0/24, но не се връщат.

P.S. PC-тата в 10.1.10.0/24 имат за gateway gateway2. Предполагам, че тук е част от проблема...

Незнам дали стана по-ясно.
Активен

Hapkoc

  • Напреднали
  • *****
  • Публикации: 2117
    • Профил
Snat и dnat през vpn
« Отговор #3 -: Jun 14, 2006, 16:37 »
Понеже гледам няма много интерес към проблема, пък на мен ми е интересно, обаче нямам много опит с тия неща, затова пак ще разпитвам - можеш ли да дадеш някакъв конкретен пример да кажем за пренасочване на портове какво точно искаш да направиш и какво си опитал, та да се помъча да помогна с каквото мога? :)
Активен

muffty

  • Участници
  • ***
  • Публикации: 10
    • Профил
Snat и dnat през vpn
« Отговор #4 -: Jun 15, 2006, 15:47 »
Ами например ако искам порт 80 на външното ip да сочи към порт 80 на например 192.168.168.35 от първата локална мрежа  правя това като на gateway1 изпълнявам следното:
$iptables -A FORWARD -p TCP -i eth0 -o eth1 -d 192.168.168.35 --dport 80 -j ACCEPT
$iptables -t nat -A PREROUTING -p tcp -d THE_EXTERNAL_IP --dport 80 -i eth0 -j DNAT --to-destination 192.168.168.35
Понеже от gateway1 мога да пингвам PC-та от втората локална мрежа (10.1.10.0/24), както и обратното, то имах надеждата, че същото ще тръгне и за нея. Само че не тръгва. Ако искам да направя същото за например порт 8080 за 10.1.10.99, то изпълнявам същите команди като само не указвам output интерфейс:
$iptables -A FORWARD -p TCP -i eth0 -d 10.1.10.99 --dport 8080 -j ACCEPT
$iptables -t nat -A PREROUTING -p tcp -d THE_EXTERNAL_IP --dport 8080 -i eth0 -j DNAT --to-destination 10.1.10.99
Ефект обаче няма.
Опитвайки се отвън да достъпя порт 8080 на външното ip tcpdump на eth0 на gateway2 дава следното:
arp who-has 10.1.10.99 tell 192.168.130.1
arp who-has 10.1.10.99 tell 192.168.130.1
arp who-has 10.1.10.99 tell 192.168.130.1
arp who-has 10.1.10.99 tell 192.168.130.1
arp who-has 192.168.130.2 tell 192.168.130.1
arp replay 192.168.130.2 is-at 00:0a:48:1b:42:fb (oui unknown)
arp who-has 10.1.10.99 tell 192.168.130.1
а на eth1 пак на gateway2 не се случва нищо.
Така че тук някъде връзката прекъсва.
Активен

  • Гост
Snat и dnat през vpn
« Отговор #5 -: Jun 15, 2006, 17:05 »
А обратен port-forwarding (SNAT) правиш ли?
Активен

  • Гост
Snat и dnat през vpn
« Отговор #6 -: Jun 15, 2006, 17:08 »
ПС: Видях по-горе, че казваш, че правиш, но в правилата никъде не го видях.

Да не си объркал routing таблиците? Понеже и на arp не видях да отговаря 10.1.......  мрежата
Активен

muffty

  • Участници
  • ***
  • Публикации: 10
    • Профил
Snat и dnat през vpn
« Отговор #7 -: Jun 15, 2006, 19:26 »
Не, обратен не правя, но ще пробвам и ще постна резултата.
Според мен проблема е или в рутинг таблиците или че поне от това, което виждам нат-а не минава през впн-а - gateway1 го хвърля на gateway2, но не през ESP и gateway2 се чуди какво да прави. В момента не съм при PC-тата, но утре ще постна какви са рутинг таблиците на двата gateway-a.
Активен

  • Гост
Snat и dnat през vpn
« Отговор #8 -: Jun 15, 2006, 22:57 »
Защо не сложиш 2 правила по статичните рутинг таблици (route add -net 10.1.10.0/24 gw 192.168.130.2 и реципрочно на другата щайга route add -net 102.168.168.0/24 gw 192.168.130.1) и не отебеш тоя ВПН между двете мрежи?

Смисъл, това най-вероятно ще ти реши проблема. Какво налага да ползваш ВПН между двете мрежи?

Иначе гледайки този tcpdump лог имам някаква идея какво вероятно се случва, ама препих с бира и ме мързи да пиша дълги теории по въпроса '<img'> Предполагам, че вероятно си вдигнал "виртуалното" айпи от openswan на някой alias на eth интерфейс (ethX:Y)? Даже вероятно от гледна точка на gateway1 това ти се води eth3:1 ?

Ако случайно малоумните ми предположения се окажат верни и като поизтрезнея ще дообясня проблема '<img'>
Активен

muffty

  • Участници
  • ***
  • Публикации: 10
    • Профил
Snat и dnat през vpn
« Отговор #9 -: Jun 16, 2006, 10:38 »
@ VladSun
Пробвах и с обратен port forwarding:
$iptables -A FORWARD -p TCP -i eth0 -d 10.1.10.99 --dport 8080 -j ACCEPT
$iptables -t nat -A PREROUTING -p tcp -d THE_EXTERNAL_IP --dport 8080 -i eth0 -j DNAT --to-destination 10.1.10.99
$iptables -t nat -A POSTROUTING -o eth0 -s 10.1.10.99 -j SNAT --to-source THE_EXTERNAL_IP
Няма ефект.

@gat3way
ВПН-а ми трябва от гледна точка на сигурността понеже двете мрежи между които тече ВПН-а са отдалечени физически и кабелът между тях минава свободно навън.
Така или иначе ВПН-а върви перфектно. Както си писал и аз мислех за вариант да рутирам един път NAT-a на gateway1 и втори път на gateway2, като един вид прескоча ВПН-а (връзката между двата gateway-a не е криптирана, само между мрежиге), но се отказах понеже не ми стана ясно как ще стане това ако реша да натвам едни и същи портове на различни машини. В смисъл ако натна порт 8080 от gw1 към gw2 и после от gw2 натна 8080 към 10.1.10.99 може и да стане, но ако после реша да натна и 8080 към 10.1.10.12 невиждам как...

Поствам рутинг таблиците на двата gw.

gw1:
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
xxx.xx.xxx.224  *               255.255.255.240 U     0      0        0 eth0
192.168.130.0   *               255.255.255.0   U     0      0        0 eth2
10.1.10.0       *               255.255.255.0   U     0      0        0 eth2
localnet        *               255.255.255.0   U     0      0        0 eth1
loopback        *               255.0.0.0       U     0      0        0 lo
default         xxx.xx.xxx.225 0.0.0.0         UG    1      0        0 eth0

gw2:
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.130.0   *               255.255.255.0   U     0      0        0 eth0
10.1.10.0       *               255.255.255.0   U     0      0        0 eth1
192.168.168.0   *               255.255.255.0   U     0      0        0 eth0
loopback        *               255.0.0.0       U     0      0        0 lo
default         192.168.130.2   0.0.0.0         UG    1      0        0 eth0

P.S. PC-тата в 192.168.168.0/24 имат default gateway 192.168.168.1, а тези в 10.1.10.0/24 - 10.1.10.1
Активен

  • Гост
Snat и dnat през vpn
« Отговор #10 -: Jun 16, 2006, 10:59 »
Можеш ли да пейстнеш ifconfig от двете гв-та?
Активен

  • Гост
Snat и dnat през vpn
« Отговор #11 -: Jun 16, 2006, 11:23 »
не трябва ли да укажеш на gw1, че gateway-a за 10.1.... е 192.168.130.2.
т.е.

gw1
ip route change 10.1.10.0/24 via 192.168.130.2
Активен

muffty

  • Участници
  • ***
  • Публикации: 10
    • Профил
Snat и dnat през vpn
« Отговор #12 -: Jun 16, 2006, 12:19 »
@gat3way

gw1:
root@gw1:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0A:5E:3C:E2:B7
          inet addr:xxx.xx.xxx.226  Bcast:xxx.xx.xxx.239  Mask:255.255.255.240
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:6666983 errors:0 dropped:0 overruns:1 frame:0
          TX packets:6125003 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1050364543 (1001.7 MiB)  TX bytes:1042127149 (993.8 MiB)
          Interrupt:11 Base address:0xdc00

eth0:1    Link encap:Ethernet  HWaddr 00:0A:5E:3C:E2:B7
          inet addr:xxx.xx.xxx.227  Bcast:xxx.xx.xxx.239  Mask:255.255.255.240
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:11 Base address:0xdc00

eth0:2    Link encap:Ethernet  HWaddr 00:0A:5E:3C:E2:B7
          inet addr:xxx.xx.xxx.228  Bcast:xxx.xx.xxx.239  Mask:255.255.255.240
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:11 Base address:0xdc00

eth0:3    Link encap:Ethernet  HWaddr 00:0A:5E:3C:E2:B7
          inet addr:xxx.xx.xxx.229  Bcast:xxx.xx.xxx.239  Mask:255.255.255.240
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:11 Base address:0xdc00

eth0:4    Link encap:Ethernet  HWaddr 00:0A:5E:3C:E2:B7
          inet addr:xxx.xx.xxx.230  Bcast:xxx.xx.xxx.239  Mask:255.255.255.240
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:11 Base address:0xdc00

eth0:5    Link encap:Ethernet  HWaddr 00:0A:5E:3C:E2:B7
          inet addr:xxx.xx.xxx.231  Bcast:xxx.xx.xxx.239  Mask:255.255.255.240
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:11 Base address:0xdc00

eth0:6    Link encap:Ethernet  HWaddr 00:0A:5E:3C:E2:B7
          inet addr:xxx.xx.xxx.232  Bcast:xxx.xx.xxx.239  Mask:255.255.255.240
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          Interrupt:11 Base address:0xdc00

eth1      Link encap:Ethernet  HWaddr 00:0A:5E:3C:EC:DC
          inet addr:192.168.168.1  Bcast:192.168.168.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4344124 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6480875 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:913169533 (870.8 MiB)  TX bytes:1159374496 (1.0 GiB)
          Interrupt:5 Base address:0xe400

eth2      Link encap:Ethernet  HWaddr 00:A1:B0:FF:42:12
          inet addr:192.168.130.1  Bcast:192.168.130.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13628 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19874 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3418281 (3.2 MiB)  TX bytes:3811894 (3.6 MiB)
          Interrupt:12 Base address:0x2000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:92301 errors:0 dropped:0 overruns:0 frame:0
          TX packets:92301 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:165957728 (158.2 MiB)  TX bytes:165957728 (158.2 MiB)


gw2:
root@gw2:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0A:48:1B:42:FB
          inet addr:192.168.130.2  Bcast:192.168.130.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12909 errors:0 dropped:0 overruns:1 frame:0
          TX packets:13659 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3396440 (3.2 Mb)  TX bytes:3422836 (3.2 Mb)
          Interrupt:5 Base address:0xc000

eth1      Link encap:Ethernet  HWaddr 00:02:44:A8:A3:95
          inet addr:10.1.10.1  Bcast:10.1.10.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14382 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13004 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2888311 (2.7 Mb)  TX bytes:2713452 (2.5 Mb)
          Interrupt:11 Base address:0x9400

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:546 errors:0 dropped:0 overruns:0 frame:0
          TX packets:546 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:41814 (40.8 Kb)  TX bytes:41814 (40.8 Kb)


@VladSun
с "p route change 10.1.10.0/24 via 192.168.130.2" не става нищо.

По принцип преди да постна тук пробвах какви ли не простотии по рутинг таблиците и iptables, но...
Но и честно казано не съм толкова на "ти" с тези неща. Може би пропускам нещо очевидно...
Активен

  • Гост
Snat и dnat през vpn
« Отговор #13 -: Jun 16, 2006, 12:25 »
Хм, добре де с openswan-a не вдигаш ли един интерфейс на който да слагаш адрес на едната страна на тунела?

Как точно го вдигаш този тунел?
Активен

muffty

  • Участници
  • ***
  • Публикации: 10
    • Профил
Snat и dnat през vpn
« Отговор #14 -: Jun 16, 2006, 12:34 »
@gat

root@gw1:~# less /etc/ipsec.conf
        left=192.168.130.1
        leftsubnet=192.168.168.0/24
        leftid=@gw1.loc
        leftrsasigkey=
        right=192.168.130.2
        rightsubnet=10.1.10.0/24
        rightid=@gw2.loc
        rightrsasigkey=
        auto=start

root@gw2:~# less /etc/ipsec.conf
        left=192.168.130.2
        leftsubnet=10.1.10.0/24
        leftid=@gw2.loc
        leftrsasigkey=
        right=192.168.130.1
        rightsubnet=192.168.168.0/24
        rightid=@gw1.loc
        rightrsasigkey=
        auto=start

Тунела е между 10.1.10.0/24 и 192.168.168.0/24 и върви между 192.168.130.1 и 192.168.130.2



Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
проблем със SNAT
Настройка на програми
saturn_vk 6 5032 Последна публикация Nov 26, 2004, 12:42
от lame
SNAT & DNAT
Настройка на програми
nocture 6 5398 Последна публикация May 28, 2005, 13:18
от Soulstealer
Проблем с snat
Системни настройки
tvirem 5 6917 Последна публикация May 27, 2008, 20:36
от edmon
Snat & smart switch secure port
Хардуерни и софтуерни проблеми
flipz 0 4978 Последна публикация Sep 28, 2008, 19:32
от flipz
DNS и DNAT
Настройка на програми
sstefanov 5 4150 Последна публикация Oct 26, 2010, 10:16
от sstefanov