Debian 7 -ב חוקלו OpenVPN תרש לש הרוצתו תנקתה


.שרושכ תודוקפה תא ליעפהל שי .Debian 7 לש הדובעה ןחלושו ,תרשכ IPv6 תוירושיק םע KVM VPS -ב Debian 7 -ב קדבנ ךילהתה .Debian Linux תועצמאב OpenVPN -ב IPv6 תוירושיק גישהל דציכ טרפמ הז רמאמ

OpenVPN תינכות איה VPN ב תשמתשמה- SSL/TLS ירוביח תריציל VPN תונטטח עונמל ךכבו ךלש טנרטניאה תרובעת בותינל ,םינפצומו םיחטבואמ. VPN תאיצי התואב התוא ץירהל לכות ,תאז בייחמ בצמה םא ,השעמל .שא

OpenVPN תרשל תומיא עצבל תוחוקלל רשפאל ידכ ,תואמסיס/שמתשמ תומש וא םירושיא ,שארמ םיפתושמ םיידוס תוחתפמ ןוגכ תוטיש ןווגמב שמתשהל לוכי. OpenVPN לוקוטורפב שמתשמ OpenSSL תינומד-בר הכימתו לשכ ת

.רתויב תנפצומו תחטבואמ הרהנמ ךרד ךלש העונתה לכ תא בתנל ידכ OpenVPN -ב שמתשה ,ךלש טנרטניאה תרובעתב טטחי והשימש הצור ךניא םא .OpenVPN לע ובשח - תחטבואמ תרושקת לע ובשח

.תונטטח עונמל ידכ ךלש OpenVPN תרש ךרד ךלש העונתה תא לעתל לוכי התא .ךלש העונתב טטחמ ימ חוטב תויהל לוכי ךניא םלועל .םירחא תומוקמבו הפועת תודשב תוירוביצ WIFI תותשרל םירבחתמשכ דחוימב בושח הז

.OpenVPN תומיתח תוהזל ולכוי ילואש תוקומע תונמ חוקיפ תוקינכט חצנל ידכ ,SSL תרהנמ לעמ ךלש OpenVPN תרובעת רוהנמ ומכ תורחא החטבא תויגטרטסא םע OpenVPN בלשל וליפא לוכי התא .HTTPS תעונת ןיב לידבה

OpenVPN ןורכיז םע תכרעמ הקיפסמ .הלעפהל דואמ תוילמינימ תושירד שרוד RAM 1- ו טייב-הגמ 64 חפנב GB חפנב HDD תלעפהל OpenVPN. OpenVPN םירטסניימה הלעפהה תוכרעמ לכב טעמכ לעופ.

Debian 7 -ב OpenVPN לש הרוצתו הנקתה

.OpenVPN תנקתהל האבה הדוקפה תא לעפה

# apt-get install openvpn

.root/easy-rsa/רמולכ יוצרה םוקימל הלא םיטפירקס קיתעהל ונילע ,ןכל .'/ usr/share/easy-rsa /' היירפסב םינקתומ easy-rsa לש םיטפירקסה ,לדחמ תרירבכ

# mkdir /root/easy-rsa
cp -prv /usr/share/doc/openvpn/examples/easy-rsa/2.0 /root/easy-rsa

.ירוקמה ץבוקה לש יוביג תחקל ךל עיצמ ינא םייוניש עצבתש ינפל ךא ,םיאבה םייונישה תא עצבו 'vars' ץבוקה תא חתפ

# cp vars{,.orig}

.המגודל .easy-rsa רובע לדחמה תרירב יכרע תא רדגה ,ךלש טסקטה ךרוע תועצמאב

KEY_SIZE=4096
KEY_COUNTRY="IN"
KEY_PROVINCE="UP"
KEY_CITY="Noida"
KEY_ORG="Home"
KEY_EMAIL="[email "

.ךרוצה יפל 8192 וא 4096 ,2048 ,1024 שקמב שמתשהל לוכי התא .תויביס 4096 שקמב שמתשמ ינא ,הנה

.הדוקפה תלעפה ידי לע לדחמה תרירב יכרע תא אציי

# source ./vars

.רבעב ורצונש םירושיאה תא הקנ

./clean-all

.CA חתפמו CA רושיא רוציל ידכ האבה הדוקפה תא לעפה ,ןכמ רחאל

# ./build-ca

.ךלש תרשה םשב 'תרשה םש' תא ףלחה .הדוקפה תלעפה ידי לע תרשה רושיא תא רוצ

# ./build-key-server server-name

.ןמלה יפיד לש PEM תדועת תא רוצ

# ./build-dh

.ךלש חוקלה םשב 'חוקלה םש' תא ףלחה .חוקלה רושיא תא רוצ

# ./build-key client-name

.HMAC דוק תא רוצ

# openvpn --genkey --secret /root/easy-rsa/keys/ta.key

.אבה ןפואב תרשה תונוכמלו תוחוקלל םירושיאה תא קתעה

    .תודוקפה תא לעפה ,תרשב םירושיאהו תוחתפמה תרדגהל

    # mkdir -p /etc/openvpn/certs
    # cp -pv /root/easy-rsa/keys/{ca.{crt,key},server-name.{crt,key},ta.key,dh4096.pem} /etc/openvpn/certs/

    .ןלהל ראותמכ םייוניש עצב אנא .'etc/openvpn/server.conf/' ץבוקה תא חתפ .OpenVPN תרש תא רידגהל ךילע תעכ

    script security 3 system
    port 1194
    proto udp
    dev tap
    
    ca /etc/openvpn/certs/ca.crt
    cert /etc/openvpn/certs/server-name.crt
    key /etc/openvpn/certs/server-name.key
    dh /etc/openvpn/certs/dh4096.pem
    tls-auth /etc/openvpn/certs/ta.key 0
    
    server 192.168.88.0 255.255.255.0
    ifconfig-pool-persist ipp.txt
    push "redirect-gateway def1 bypass-dhcp"
    push "dhcp-option DNS 8.8.8.8"
    push "dhcp-option DNS 8.8.4.4"
    
    keepalive 1800 4000
    
    cipher DES-EDE3-CBC # Triple-DES
    comp-lzo
    
    max-clients 10
    
    user nobody
    group nogroup
    
    persist-key
    persist-tun
    
    #log openvpn.log
    #status openvpn-status.log
    verb 5
    mute 20

    .תרשב IP תרבעה רשפא

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

    .לוחתאה תלעפהל OpenVPN תא רידגהל ידכ האבה הדוקפה תא לעפה

    # update-rc.d -f openvpn defaults

    .OpenVPN תוריש תא לחתה

    # service openvpn restart

    .חוקלה בשחמב OpenVPN תנקתהל האבה הדוקפה תא לעפה

    # apt-get install openvpn

    :ןמקלדכ איה המגודל הרוצת .חוקלה לע ,'etc/openvpn/client.conf/' ב OpenVPN חוקלה תרוצת תא רדגה ,טסקט ךרוע תרזעב

    script security 3 system
    client
    remote vpn_server_ip
    ca /etc/openvpn/certs/ca.crt
    cert /etc/openvpn/certs/client.crt
    key /etc/openvpn/certs/client.key
    cipher DES-EDE3-CBC
    comp-lzo yes
    dev tap
    proto udp
    tls-auth /etc/openvpn/certs/ta.key 1
    nobind
    auth-nocache
    persist-key
    persist-tun
    user nobody
    group nogroup

    .לוחתאה תלעפהל OpenVPN תא רידגהל ידכ האבה הדוקפה תא לעפה

    # update-rc.d -f openvpn defaults

    .חוקלב OpenVPN תוריש תא לחתה

    # service openvpn restart

    .OpenVPN לע דובעל IPv6 -ל םורגל ךיא הנה ,IPv4 -ב בטיה לעופ OpenVPN -ש הצורמ התאש עגרב

    .תרשה תרוצתב 'etc/openvpn/server.conf/' הרוצתה ףוסב תואבה תורושה תא ףסוה

    client-connect /etc/openvpn/client-connect.sh
    client-disconnect /etc/openvpn/client-disconnect.sh

    .קתנתמ/רבחתמ חוקלש םעפ לכב IPv6 תרהנמ תא םיסרוה/םינוב הלא םיטפירקס ינש

    .client-connect.sh לש ןכותה הנה

    #!/bin/bash
    BASERANGE="2a00:dd80:003d:000c"
    ifconfig $dev up
    ifconfig $dev add ${BASERANGE}:1001::1/64
    ip -6 neigh add proxy 2a00:dd80:003d:000c:1001::2 dev eth0
    exit 0


    שמתשמ ינא ,ךכיפל .2a00: dd80: 003d: 000c ::/64 קולבהמ IPV6 תובותכ יל הצקמ ילש חראמה

    .תרשה לש tap0 קשממ לש IPV6 תבותככ 2a00: dd80: 003d: 000c: 1001 :: 1 תבותכה תא הצקמ הז טפירקס ,OpenVPN -ל רבחתמ חוקלש םעפ לכב

    .proxy -ה תבותככ חוקלה דצב tap0 רוביח לש IPv6 תבותכ תא יתפסוה .ונלש הרהנמל ןכשה יוליג תא הרידגמ הנורחאה הרושה

    .client-disconnect.sh לש ןכותה הנה

    #!/bin/bash
    BASERANGE="2a00:dd80:003d:000c"
    /sbin/ip -6 addr del ${BASERANGE}::1/64 dev $dev
    exit 0

    .ךרוצה יפל BASERANGE לש ךרעה תא הנש .קתנתמ חוקלה רשאכ תרשה לש IPv6 תרהנמ תבותכ תא קחומ טושפ הז

    .הלעפהל םיטירסתה תא ךופה

    # chmod 700 /etc/openvpn/client-connect.sh
    # chmod 700 /etc/openvpn/client-disconnect.sh

    .(etc/sysctl.conf/ -ב םימיאתמה sysctls תא תונשל םג לכות) 'etc/rc.local/' -ל םיאבה םיכרעה תא ףסוה

    echo 1 >/proc/sys/net/ipv6/conf/all/proxy_ndp
    echo 1 > /proc/sys/net/ipv4/ip_forward
    echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
    /etc/init.d/firewall stop && /etc/init.d/firewall start

    .שא תמוח םג יתפסוה .ןכשה לש הרבעהו יוליג םיליעפמ הלא םיכרע

    .אבה ןכותל סנכהו 'etc/init.d/firewall/' רוצ

    #!/bin/sh
    # description: Firewall
    IPT=/sbin/iptables
    IPT6=/sbin/ip6tables
    case "$1" in
    start)
    $IPT -F INPUT
    $IPT -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPT -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
    $IPT -A INPUT -i eth0 -p icmp -j ACCEPT
    $IPT -A INPUT -i eth0 -p udp --dport 1194 -j ACCEPT
    $IPT -A INPUT -i tap+ -j ACCEPT
    $IPT -A FORWARD -i tap+ -j ACCEPT
    $IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPT -t nat -F POSTROUTING
    $IPT -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
    $IPT -A INPUT -i eth0 -j DROP
    $IPT6 -F INPUT
    $IPT6 -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
    $IPT6 -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
    $IPT6 -A INPUT -i eth0 -p icmpv6 -j ACCEPT
    $IPT6 -A FORWARD -s 2a00:dd80:003d:000c::/64 -i tap0 -o eth0 -j ACCEPT
    $IPT6 -A INPUT -i eth0 -j DROP
    exit 0
    ;;
    stop)
    $IPT -F
    $IPT6 -F
    exit 0
    ;;
    *)
    echo "Usage: /etc/init.d/firewall {start|stop}"
    exit 1
    ;;
    esac

    .שאה תמוח תא לעפהו 'etc/rc.local/' תא לעפה

    # sh /etc/rc.local

    .תרשה דצב םייונישה תא םילשמ הז

    .'etc/openvpn/client.conf/' ךלש חוקלה תרוצת ץבוקב תונורחאה תורושכ תואבה תורושה תא ףסוה

    # create the ipv6 tunnel
    up /etc/openvpn/up.sh
    down /etc/openvpn/down.sh
    # need this so when the client disconnects it tells the server
    explicit-exit-notify

    .ונממ וא OpenVPN תרשל קתנתמ/רבחתמ חוקלש םעפ לכב חוקלה tap0 רוביח לש IPV6 חוקל לש םויסה תודוקנ תא םיסרוה/םינוב הטמלו הלעמל םיטירסתה

    .up.sh לש ןכותה הנה

    #!/bin/bash
    IPV6BASE="2a00:dd80:3d:c"
    ifconfig $dev up
    ifconfig $dev add ${IPV6BASE}:1001::2/64
    ip -6 route add default via ${IPV6BASE}:1001::1
    exit 0

    .תרשה ךרד לדחמ תרירבכ רדגומה IPV6 -ה ביתנ תא עבוקו חוקלה לש IPV6 -ה תבותככ IPV6 2a00: dd80: 3d: c: 1001 :: 2 -ה תבותכ תא הצקמ טפירקסה

    .תרשה תרוצתב BASERANGE -ל ההז היהיש ךכ IPV6BASE -ה תא הנש

    .down.sh לש ןכותה הנה

    #!/bin/bash
    IPV6BASE="2a00:dd80:3d:c"
    /sbin/ip -6 addr del ${IPV6BASE}::2/64 dev $dev
    /sbin/ip link set dev $dev down
    /sbin/ip route del ::/0 via ${IPV6BASE}::1
    exit 0

    .תרשהמ קתנתמ חוקלה רשאכ IPV6 -ה לולסמ תא עטוקו חוקלה לש IPV6 -ה תבותכ תא קחומ טושפ הז

    .הלעפהל טפירקס תא ךופהו תרשה תרוצתב BASERANGE -ל ההז היהיש ךכ IPV6BASE תא הנש

    # chmod 700 /etc/openvpn/up.sh
    # chmod 700 /etc/openvpn/down.sh

    .DNS תייצולוזרל לגוג לש IPV6 -ה תומש יתרש תא ףסוהו 'etc/resolv.conf/' הנש ,ןיפולחל

    nameserver 2001:4860:4860::8888
    nameserver 2001:4860:4860::8844

    .תדבוע OpenVPN ךרד ךלש IPV6 -ה תוירושיקש תוארל ידכ test-ipv6.com -ב רקב .רבוחמ תויהל ךירצ התא .חוקלהמ וילא רבחתה זאו תרשב openvpn תא שדחמ לעפה

    הינפה ירושיק

    OpenVPN לש תיבה ףד