Я хочу подключиться к VPN-серверу - на котором работает Ubuntu Server 12.04 - с использованием eth0 и направить его вывод на eth1 чтобы я мог подключить свой домашний ПК к eth1 . Как я могу достичь этого?

1 ответ1

0

Предположим, что на вашем сервере есть один брандмауэр на базе Linux и две следующие карты Ethernet:

eth1 (общедоступный IP) ============== {ИНТЕРНЕТ}
eth0 (внутренняя сеть /192.168.0.0/24) ============== 192.168.0.1

Tun0 настроен как 10.8.0.1 как VPN, а вся сеть VPN настроена как 10.8.0.0/24.

В таком случае правила iptables, необходимые для этого, выглядят так:

 # Allow traffic initiated from VPN to access LAN
    iptables -I FORWARD -i tun0 -o eth0 \
         -s 10.8.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 tun0 -o eth1 \
         -s 10.8.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.8.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

Надеюсь, это может помочь.

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