3

Я пытаюсь настроить свою собственную маленькую точку доступа, и у меня работают два основных элемента.

  1. Точка доступа WiFi подключаема. Я могу получить доступ к веб-серверу на маршрутизаторе
  2. SSH-вход в роутер, я могу подключиться к внешнему интернету через PPTP

Кто-нибудь знает, каким образом я могу соединить два элемента вместе?

2 ответа2

2

Сначала вам нужно включить IP-пересылку:

echo 1 > /proc/sys/net/ipv4/ip_forward

Затем предположим, что ваш VPN назначает статический IP, вам понадобится SNAT:

iptables -t nat -A POSTROUTING -o <TUNNEL INTERFACE> -j SNAT --to-source <VPN IP>

замена и при необходимости ofc. Если ваш VPN дает вам динамический IP, вам нужно использовать вместо этого MASQUERADE:

iptables -t nat -A POSTROUTING -o <TUNNEL INTERFACE> -j MASQUERADE

Затем проверьте правильность таблицы маршрутизации:

route -n

проверьте, что у вас есть строка, подобная этой:

0.0.0.0         <VPN ENDPOINT IP>     0.0.0.0         UG    2      0        0 <VPN INTERFACE>

если он отсутствует, добавьте его:

route add default gw <VPN ENDPOINT IP> dev <VPN INTERFACE>

У каждого дистрибутива есть свои собственные методы, чтобы сделать эти изменения постоянными / постоянными, поэтому мне нужно больше информации, чтобы помочь в этом отношении.

0

После установки pptpd и попытки получить VPN-соединение перенаправить любой трафик при подключении. Я использовал правила iptables снизу, и это сработало отлично! Мне не требовался доступ к локальной сети ни в коем случае, поэтому я не использовал их, но VPN Client <-> World очень помог.

Я разделяю правила здесь, если кто-то хочет их.

 # Allow traffic initiated from VPN to access LAN
iptables -I FORWARD -i ppp* -o eth0 \
     -s 10.0.0.0/24 -d 192.168.0.0/24 \
     -m conntrack --ctstate NEW -j ACCEPT

# Allow traffic initiated from VPN to access "the world"
iptables -I FORWARD -i ppp* -o eth1 \
     -s 10.0.0.0/24 -m conntrack --ctstate NEW -j ACCEPT

# Allow traffic initiated from LAN to access "the world"
iptables -I FORWARD -i eth0 -o eth1 \
     -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT

# Allow established traffic to pass back and forth
iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED \
     -j ACCEPT

# Notice that -I is used, so when listing it (iptables -vxnL) it
# will be reversed.  This is intentional in this demonstration.

# Masquerade traffic from VPN to "the world" -- done in the nat table
iptables -t nat -I POSTROUTING -o eth1 \
      -s 10.0.0.0/24 -j MASQUERADE

# Masquerade traffic from LAN to "the world"
iptables -t nat -I POSTROUTING -o eth1 \
      -s 192.168.0.0/24 -j MASQUERADE

Конечно, я полагаю, вы уже сделали

echo 1 > /proc/sys/net/ipv4/ip_forward

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .