Linux-Bulgaria.ORG
навигация

 

начало

пощенски списък

архив на групата

семинари ...

документи

как да ...

 

 

Предишно писмо Следващо писмо Предишно по тема Следващо по тема По Дата По тема (thread)

[Lug-bg] CentOS ip masquerade


  • Subject: [Lug-bg] CentOS ip masquerade
  • From: Kristian Kirilov <kristian.kirilov@xxxxxxxxx>
  • Date: Thu, 1 Nov 2012 12:22:43 +0200

Здравейте,

ще се опитам да бъда максимално кратък, но същевременно максимално ясен.
Идеята ми е да ползвам машина от вътрешната мрежа като маршрутизатор за вече създаден от нея VPN.

Машината на която е пуснат VPN-a е с адрес 192.168.0.9. VPN-a раздава адреси от мрежа 172.16.22.0/24 от другата страна на VPN-a пък има адреси от мрежа 10.139.0.0/16 и мрежа 192.168.96.0/21.

Има още една машина с адрес 192.168.0.8 през която се опитвам да достъпа адрес от мрежата зад VPN-a. На тази машина съм конфигурирал статичен рут към мрежата зад VPN-a като гейтуей към тази мрежа съм задал вътрешния адрес на машината където е стартиран VPN-a, т.е. 192.168.0.9

Малко дебъг инфо за да не говориме само празни приказки:

[root@gideon vpnc]# ifconfig
eth0      Link encap:Ethernet  HWaddr 52:54:00:14:40:69
          inet addr:192.168.0.9  Bcast:192.168.0.255  Mask:255.255.255.0
......skip.......
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:172.16.22.1  P-t-P:172.16.22.1  Mask:255.255.255.255
......skip.......

[root@gideon vpnc]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.16.22.0     0.0.0.0         255.255.255.128 U     0      0        0 tun0
192.168.96.0    0.0.0.0         255.255.248.0   U     0      0        0 tun0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
10.139.0.0      0.0.0.0         255.255.0.0     U     0      0        0 tun0
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

Тук имам пуснат ipv4 fowarding и IP Masquerade на тунелния интерфейс..

[root@gideon vpnc]# sysctl -a |grep ipv4 |grep forwarding
net.ipv4.conf.all.forwarding = 1
.....skip....

[root@gideon vpnc]# iptables -t nat -L -n
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
[root@gideon vpnc]#

Ип адрес 192.168.101.93 ще бъде адеса който се опитваме да достъпим оттатък VPN-a.

[root@gideon vpnc]# ping 192.168.101.93
PING 192.168.101.93 (192.168.101.93) 56(84) bytes of data.
64 bytes from 192.168.101.93: icmp_seq=1 ttl=63 time=4.37 ms
64 bytes from 192.168.101.93: icmp_seq=2 ttl=63 time=4.47 ms

От машината на която е пуснат VPN-a такъв проблем няма.
Малко инфо за другата машина която се явява нещо като клиент ;-)

root@guffi:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:fa:13:83:52:23
          inet addr:192.168.0.8  Bcast:192.168.0.255  Mask:255.255.255.0
......skip.......

root@guffi:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
10.139.0.0      192.168.0.9     255.255.0.0     UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.96.0    192.168.0.9     255.255.248.0   UG    0      0        0 eth0
root@guffi:~#

Следва и самия тест.

root@guffi:~# ping 192.168.101.93
PING 192.168.101.93 (192.168.101.93): 48 data bytes
^C--- 192.168.101.93 ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss
root@guffi:~#

На машината на която е пуснат VPN-a пуснах един tcpdump за да гледам какво става..
[root@gideon ~]# tcpdump -i tun0 -vvv -nn
tcpdump: listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes
09:16:07.903074 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto ICMP (1), length 76)
    172.16.22.1 > 192.168.101.93: ICMP echo request, id 43561, seq 0, length 56
09:16:07.907601 IP (tos 0x0, ttl 63, id 62947, offset 0, flags [none], proto ICMP (1), length 76)
    192.168.101.93 > 172.16.22.1: ICMP echo reply, id 43561, seq 0, length 56
09:16:08.904292 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto ICMP (1), length 76)
    172.16.22.1 > 192.168.101.93: ICMP echo request, id 43561, seq 256, length 56
09:16:08.908268 IP (tos 0x0, ttl 63, id 62948, offset 0, flags [none], proto ICMP (1), length 76)
    192.168.101.93 > 172.16.22.1: ICMP echo reply, id 43561, seq 256, length 56
09:16:09.905512 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto ICMP (1), length 76)
    172.16.22.1 > 192.168.101.93: ICMP echo request, id 43561, seq 512, length 56
09:16:09.909488 IP (tos 0x0, ttl 63, id 62949, offset 0, flags [none], proto ICMP (1), length 76)
    192.168.101.93 > 172.16.22.1: ICMP echo reply, id 43561, seq 512, length 56
09:16:10.906600 IP (tos 0x0, ttl 63, id 0, offset 0, flags [DF], proto ICMP (1), length 76)
    172.16.22.1 > 192.168.101.93: ICMP echo request, id 43561, seq 768, length 56
09:16:10.911044 IP (tos 0x0, ttl 63, id 62950, offset 0, flags [none], proto ICMP (1), length 76)
    192.168.101.93 > 172.16.22.1: ICMP echo reply, id 43561, seq 768, length 56

От полученото си мисля, че маскирането сработва щото се вижда, че източника на пакета а ип адреса на VPN-a а не 192.168.0.8.
Виждам също и че 192.168.101.93 го праща направилното място, т.е. адреса на VPN-a.
Не знам защо обаче след като пакета се върне 192.168.0.9 не знае къде да го прати, вместо да го върне към 192.168.0.8

Сигурно грешката ми е тъпа.. ама не се сещам що става така.
Мерси предварително за помоща.
_______________________________________________
Lug-bg mailing list
Lug-bg@xxxxxxxxxxxxxxxxxx
http://linux-bulgaria.org/mailman/listinfo/lug-bg


 

наши приятели

 

линукс за българи
http://linux-bg.org

FSA-BG
http://fsa-bg.org

OpenFest
http://openfest.org

FreeBSD BG
http://bg-freebsd.org

KDE-BG
http://kde.fsa-bg.org/

Gnome-BG
http://gnome.cult.bg/

проект OpenFMI
http://openfmi.net

NetField Forum
http://netField.ludost.net/forum/

 

 

Linux-Bulgaria.ORG

Mailing list messages are © Copyright their authors.