Раздача интернета со второй сетевой в Debian посредством pptpd

Discussion in 'Linux, Freebsd, *nix' started by tester_new, 6 Nov 2012.

  1. tester_new

    tester_new Elder - Старейшина

    Joined:
    12 Feb 2012
    Messages:
    300
    Likes Received:
    45
    Reputations:
    24
    Есть компик на котором стоит Debian, на eth0 у меня приходит инет, с eth1 я его раздаю посредством pptpd сервера(также стоит настроенный шейпер), на eth1 висит dhcp сервер, все работает НО мне нужно сделать что бы интернет предоставлялся только посредством vpn а у меня сейчас если просто всунуть провод в eth0 я получаю по dhcp настройки и могу пользоваться инетом... подскажите как получать инет с eth1 только через vpn! нужно блокировать в iptables? или просто есть какой то параметр запрещающий форвардин пакетов с eth1 на eth0?
     
  2. _visor_

    _visor_ New Member

    Joined:
    9 Oct 2011
    Messages:
    52
    Likes Received:
    4
    Reputations:
    1
    почти сам ответил на свой вопрос вот тебе:
    FORWARD and NAT Rules
    Linux IP Forwarding for OpenVPN
    если я тебя правильно понял, должен найти ответ )
     
  3. tester_new

    tester_new Elder - Старейшина

    Joined:
    12 Feb 2012
    Messages:
    300
    Likes Received:
    45
    Reputations:
    24
    Уже все работает!! спасибо! :) вот напишу вдруг кому то поможет..
    p.s. надеюсь ничего не забыл...
    Code:
    
    root@Debian:/etc# cat pptpd.conf
    option /etc/ppp/pptpd-options
    logwtmp
    bcrelay eth0
    localip 10.0.0.1
    remoteip 10.0.0.2-254
    
    #шифрование,маршруты,логи
    root@Debian:/etc/ppp# cat pptpd-options
    name pptpd
    refuse-pap
    refuse-chap
    refuse-mschap
    require-mschap-v2
    require-mppe-128
    ms-dns 8.8.8.8
    nodefaultroute
    lock
    nobsdcomp 
    auth
    logfile /var/log/pptpd.log
    
    Добавляем юзера и привязываем к нему ip
    root@Debian:/etc/ppp# cat chap-secrets
    # Secrets for authentication using CHAP
    # client	server	secret			IP addresses
    tester          pptpd   tester                  10.0.0.5
    
    создаем скрипт:
    touch script_name
    
    #!/bin/sh
    iptables -A INPUT -p gre -s 0/0 -j ACCEPT
    iptables -A OUTPUT -p gre -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A INPUT -p tcp -s 0/0 --dport 1723 j ACCEPT
    iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT
    iptables -A FORWARD -d 10.0.0.0/24 -m state --state ESTABLISHED,RELATED -j ACCEPT
    iptables -t nat -A POSTROUTING -s  10.0.0.0/24 -o eth0 -j SNAT --to-source 159.224.181.145
    
    Устанавливаем права на выполнение 
    chmod 777 script_name
    
    Добавляем наши правила iptables в автозагрузку в файл rc.local:
    root@Debian:/etc# cat rc.local(может не совсем верно но добавил в rc.local)
    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
    /etc/script_name
    exit 0
    
    Включаем форвардинг:
    echo 1 >/proc/sys/net/ipv4/ip_forward
    
    Перезапускаем сервер:
    /etc/init.d/pptpd restart
    
     
    #3 tester_new, 2 Dec 2012
    Last edited: 2 Dec 2012
  4. _visor_

    _visor_ New Member

    Joined:
    9 Oct 2011
    Messages:
    52
    Likes Received:
    4
    Reputations:
    1
    я тебе хотя бы помог )?
     
  5. tester_new

    tester_new Elder - Старейшина

    Joined:
    12 Feb 2012
    Messages:
    300
    Likes Received:
    45
    Reputations:
    24
    Если честно то уже нет :)