Присказка:
Поставил я тут шлюз на работе на основе Ubuntu 10.04.1
На шлюзе стоит 3 сетевых карты (одна, в данный момент не используется).
eth0 смотрит в Инет (имеется белый IP адрес, соединение поднимается на DSL модеме, который собственно и подключен к eth0) и имеет адрес 192.168.0.2
eth1 смотрит в локальную сеть и имеет адрес 192.168.10.2 (собственно, адрес шлюза для клиентов сети, назовем её
главная сеть)
Итак, что имеем в работе: в локальной сети все прелесно - Инет работает, пробросы портов работают все четко. VPN сервер поднимается, НО тут
ПРОБЛЕМА: клиенты, которые подключаются к шлюзу по VPN пингуют внутренние ресурсы только если им выдаются адреса из диапазона ГЛАВНОЙ СЕТИ, а вот сами клиенты не пингуются ни при каких манипуляциях (собственно, это главная задача, чтобы клиенты не только могли использовать внутренние ресурсы ГЛАВНОЙ СЕТИ, но и чтобы я мог из ГЛАВНОЙ СЕТИ видеть этих самых клиентов, например, управлять ими по RDP)
Имеем вот такие правила iptables (закоменченные строки - это строки взятые из местных тем по настройки VPN сервера, без них он тоже работает, но я пока не понял почему ))):
sysctl -w net.ipv4.ip_forward="1"
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A INPUT -i eth1 --source 192.168.10.0/24 --match state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth1 --destination 192.168.10.0/24 --match state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 --source 192.168.10.0/24 --destination 0.0.0.0/0 --match state --state NEW,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 --destination 192.168.10.0/24 --match state --state ESTABLISHED -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 192.168.0.2 --dport 80 -j DNAT --to-destination 192.168.10.3:80
iptables -A FORWARD -i eth0 -d 192.168.10.3 -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 192.168.0.2 --dport 3389 -j DNAT --to-destination 192.168.10.1
iptables -A FORWARD -i eth0 -d 192.168.10.1 -p tcp --dport 3389 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 192.168.0.2 --dport 21 -j DNAT --to-destination 192.168.10.1
iptables -A FORWARD -i eth0 -d 192.168.10.1 -p tcp --dport 21 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 192.168.0.2 --dport 11000:13000 -j DNAT --to-destination 192.168.10.1
iptables -A FORWARD -i eth0 -d 192.168.10.1 -p tcp --dport 11000:13000 -j ACCEPT
# iptables -A INPUT -p gre -s 0/0 -j ACCEPT
# iptables -A INPUT -p tcp -s 0/0 --dport 1723 -j ACCEPT
# iptables -A OUTPUT -p gre -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
# iptables -A INPUT -p gre -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
# iptables --append INPUT --protocol 47 --jump ACCEPT
# iptables --append INPUT --protocol tcp --match tcp --destination-port 1723 --jump ACCEPT
Вот такой pptpd.conf:
option /etc/ppp/pptpd-options
logwtmp
localip 192.168.10.200
remoteip 192.168.10.201-254
Вот такой pptpd-options:
auth
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 192.168.10.1
ms-dns 192.168.10.2
proxyarp
nodefaultroute
logfile /var/log/pptpd.log
lock
nobsdcomp
Таблица маршрутизации без VPN-подключения:
Destination Gateway Genmask Flags Metric Ref Use Iface
10.13.10.0 * 255.255.255.0 U 0 0 0 tun0
192.168.0.0 * 255.255.255.0 U 1 0 0 eth0
10.10.10.0 * 255.255.255.0 U 0 0 0 tun0
192.168.10.0 * 255.255.255.0 U 1 0 0 eth1
link-local * 255.255.0.0 U 1000 0 0 eth1
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
Она же с VPN-подключением:
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.201 * 255.255.255.255 UH 0 0 0 ppp0
10.13.10.0 * 255.255.255.0 U 0 0 0 tun0
192.168.0.0 * 255.255.255.0 U 1 0 0 eth0
10.10.10.0 * 255.255.255.0 U 0 0 0 tun0
192.168.10.0 * 255.255.255.0 U 1 0 0 eth1
link-local * 255.255.0.0 U 1000 0 0 eth1
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
Ну и ifconfig под конец:
eth0 Link encap:Ethernet HWaddr 00:22:b0:de:6c:d1
inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::222:b0ff:fede:6cd1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:819233 errors:0 dropped:0 overruns:0 frame:0
TX packets:881609 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:254048552 (254.0 MB) TX bytes:253632184 (253.6 MB)
Interrupt:17 Base address:0x8000
eth1 Link encap:Ethernet HWaddr 00:21:91:21:9a:8b
inet addr:192.168.10.2 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::221:91ff:fe21:9a8b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:743484 errors:0 dropped:0 overruns:0 frame:0
TX packets:777701 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:234649690 (234.6 MB) TX bytes:248765078 (248.7 MB)
Interrupt:18 Base address:0x8000
eth2 Link encap:Ethernet HWaddr 00:0d:87:a9:1a:36
UP BROADCAST MULTICAST MTU:1500 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:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:23 Base address:0xc000
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:44 errors:0 dropped:0 overruns:0 frame:0
TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4412 (4.4 KB) TX bytes:4412 (4.4 KB)
ppp0 Link encap:Протокол PPP (Point-to-Point Protocol)
inet addr:192.168.10.200 P-t-P:192.168.10.201 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1396 Metric:1
RX packets:90 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:7856 (7.8 KB) TX bytes:1508 (1.5 KB)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:1.1.1.1 P-t-P:1.1.1.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING MTU:1462 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:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Собственно, помогите решить проблему, ну и малость оптимизировать правила iptables, если там есть косяки какие... Заранее, спасибо.