Назад | Перейти на главную страницу

маршрутизация определенного IP-адреса в туннель ppp0

Я чувствую, что боролся с этим достаточно долго и мне нужна помощь.

У меня есть туннель pptp, и я пытаюсь направить целевой трафик из 208.85.40.20 в туннель pptp (ppp0). (Внимательные наблюдатели могут узнать, что IP-адрес принадлежит pandora.com). Я выполняю всю эту настройку на маршрутизаторе ... и я знаю, что он не работает успешно, поскольку traceroute не дает ничего, кроме звездочек.

Я вставил соответствующие результаты ниже: (с некоторым «безопасным» редактированием адресов)

root@OpenWrt:~# ifconfig

br0       Link encap:Ethernet  HWaddr 00:1A:92:BC:XX:XX
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:28185 errors:0 dropped:0 overruns:0 frame:0
          TX packets:24936 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:4894242 (4.6 MiB)  TX bytes:5941902 (5.6 MiB)

eth0      Link encap:Ethernet  HWaddr 00:1A:92:BC:XX:XX
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:51829 errors:0 dropped:0 overruns:0 frame:0
          TX packets:56824 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:11490288 (10.9 MiB)  TX bytes:11857913 (11.3 MiB)
          Interrupt:4

eth2      Link encap:Ethernet  HWaddr 00:1A:92:BC:XX:XX
          UP BROADCAST RUNNING ALLMULTI MULTICAST  MTU:1500  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:15426
          TX packets:9529 errors:21 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:423 (423.0 B)  TX bytes:596036 (582.0 KiB)
          Interrupt:2 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:30 errors:0 dropped:0 overruns:0 frame:0
          TX packets:30 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2300 (2.2 KiB)  TX bytes:2300 (2.2 KiB)

ppp0      Link encap:Point-Point Protocol
          inet addr:68.68.39.250  P-t-P:172.16.20.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1400  Metric:1
          RX packets:165 errors:2 dropped:0 overruns:0 frame:0
          TX packets:68 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:7006 (6.8 KiB)  TX bytes:3462 (3.3 KiB)

vlan0     Link encap:Ethernet  HWaddr 00:1A:92:BC:XX:XX
          UP BROADCAST RUNNING ALLMULTI MULTICAST  MTU:1500  Metric:1
          RX packets:28182 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33813 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5006544 (4.7 MiB)  TX bytes:6609774 (6.3 MiB)

vlan1     Link encap:Ethernet  HWaddr 00:1A:92:BC:XX:XX
          inet addr:173.183.111.3  Bcast:173.183.111.255  Mask:255.255.224.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:23653 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23012 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:5522012 (5.2 MiB)  TX bytes:4982944 (4.7 MiB)

wds0.4915 Link encap:Ethernet  HWaddr 00:1A:92:BC:XX:XX
          UP BROADCAST RUNNING 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)

wds0.4915 Link encap:Ethernet  HWaddr 00:1A:92:BC:XX:XX
          UP BROADCAST RUNNING 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)

root@OpenWrt:~# cat /etc/ppp/ip-up

iptables -A FORWARD -t filter -i br0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -t filter -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.1.1/24 -d 0/0 -j MASQUERADE

iptables -A forwarding_rule -o ppp0 -j ACCEPT
iptables -A forwarding_rule -i ppp0 -j ACCEPT
iptables -t nat -A postrouting_rule -o ppp0 -j MASQUERADE

root@OpenWrt:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.16.20.1     *               255.255.255.255 UH    0      0        0 ppp0
208.85.40.20    *               255.255.255.255 UH    0      0        0 ppp0
192.168.1.0     *               255.255.255.0   U     0      0        0 br0
173.183.192.0   *               255.255.224.0   U     0      0        0 vlan1
default         d173-183-192-1. 0.0.0.0         UG    0      0        0 vlan1
default         192.168.1.1     0.0.0.0         UG    0      0        0 br0

Приветствуются любые советы, я не слишком хорош в сети, но довольно проницателен в обучении ;-)

вы можете сделать что-то вроде этого для своего скрипта ip-up:

echo "route add 208.85.40.20 dev \$IFNAME" >> /etc/ppp/ip-up.local
chmod 755 /etc/ppp/ip-up.local

РЕДАКТИРОВАТЬ

Я вижу, что вы используете openwrt; Я не думаю, что $ IFNAME разрешит ppp0, ppp1 и т. Д. Вики openwrt намекает на $ INTERFACE в скрипте ip-up:

echo "route add 208.85.40.20 dev \$INTERFACE" >> /etc/ppp/ip-up

РЕДАКТИРОВАТЬ2

Вы пробовали вручную добавить маршрут?

route add 208.85.40.20 dev ppp0
route add 208.85.40.50 dev ppp0

Если да, то отображается ли это в вашей таблице маршрутизации? Если это так (я предполагаю, что это так), то я подозреваю, что проблема либо в вашем брандмауэре, либо на другой стороне ссылки ppp. Вы можете проверить это с помощью tcpdump - если вы видите, что трафик покидает интерфейс ppp0, но не возвращается, то это, вероятно, одноранговый узел ppp. Если вы не видите трафика, проверьте настройки iptables.

tcpdump -n ip host 208.85.40.20

небезопасные iptables для устранения неполадок:

iptables -t nat -I PREROUTING -d 208.85.40.20 -j ACCEPT
iptables -t nat -I PREROUTING -s 208.85.40.20 -j ACCEPT
iptables -I FORWARD -s 208.85.40.20 -j ACCEPT
iptables -I FORWARD -d 208.85.40.20 -j ACCEPT
iptables -t nat -I POSTROUTING -s 208.85.40.20 -j ACCEPT
iptables -t nat -I POSTROUTING -d 208.85.40.20 -j MASQUERADE

Я сделал аналогичную настройку, но использовал два маршрутизатора, и она отлично работает. Я настроил первый маршрутизатор как 192.168.199.1 и настроил маршрутизатор strongVPN как 192.168.199.2. Маршрутизатор StrongVPN имеет статический адрес WAN, указывающий на 192.168.199.1 в качестве шлюза. Первичный маршрутизатор имеет добавленные маршруты для адресов, которые он хочет пройти через туннель. Например, 208.85.40.20, подсеть 255.255.255.0, шлюз 192.168.199.2. Я использую подсеть / 24, потому что полагаю, что у этой компании может быть блок адресов для различных серверов. Он отлично работает и обеспечивает полную скорость основной части сетевого трафика и скорость туннелирования для служб, которые вы хотите маршрутизировать через серверы в стране пребывания. Я знаю, что это конкретно не ответило на ваш первоначальный вопрос, но это еще один способ добраться туда, который, как я знаю, работает.