FreeBSD¤ò Router ¤È¤·¤Æ vtund ¤òÍѤ¤¤Æ VPN ¥ë¡¼¥¿¤òºîÀ®¤·¤Æ¤ß¤¿¡¥

º£²ó¤Ï¡¤Á°²ó¤Î IPSec ¤Ç¤Î VPN ¤Ç¤Ï¤Ê¤¯¡¤vtund ¤È¤¤¤¦¥×¥í¥°¥é¥à¤òÍøÍѤ·¤Æ VPN ´Ä¶­¤ò¹½ÃÛ¤¹¤ë¡¥

º£²ó¤Î¹½À®

VPN¥¤¥á¡¼¥¸
Client1 ¤È Client2 ¤ò VPN ¤Ç¥È¥ó¥Í¥ê¥ó¥°¤¹¤ë·Á¤È¤Ê¤ê¡¤Router ¤È¤Ê¤ë¥Û¥¹¥È¤Ï ipfw Åù¤òÍѤ¤¤Æ¥Õ¥¡¥¤¥¢¥¦¥©¡¼¥ë¤ò¹½À®¤¹¤ë¡¥
vtund ¤Ï¥µ¡¼¥Ð¡¤¥¯¥é¥¤¥¢¥ó¥È·¿¤Î¥×¥í¥°¥é¥à¤Î°Ù¡¤Router-1 ¤ò vtun ¥µ¡¼¥Ð¡¥Router-2 ¤ò vtun ¥¯¥é¥¤¥¢¥ó¥È¤È¤·¤¿¡¥
µ¡´ïGlobalIPPrivateIP
Router-143.244.x.34/32( PPPoE )192.168.1.254/24( fxp1 )
Router-243.244.x.139/32( PPPoE )192.168.2.254/24( fxp1 )

¥«¡¼¥Í¥ë¥³¥ó¥Ñ¥¤¥ë

vtund ¤òÍѤ¤¤Æ VPN ¤òÍøÍѤ¹¤ë¤Ë¤Ï¡¤¥«¡¼¥Í¥ë¤Ç tun ¤òÍ­¸ú¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡¥
( ¥Ç¥Õ¥©¥ë¥È¤ÇÍ­¸ú¤Ê°Ù¡¤ÆÃ¤Ë¥«¡¼¥Í¥ë¥³¥ó¥Ñ¥¤¥ë¤ÏɬÍפʤ¤ ) ADSL Åù¤Ç PPPoE ¤òÍøÍѤ·¤Æ¤¤¤ë¾ì¹ç¤Ï¡¤¤½¤Î¥«¡¼¥Í¥ë¤¬¤½¤Î¤Þ¤Þ»È¤¨¤ë¤Ï¤º¤Ç¤¢¤ë¡¥

vtun ¤Î¥¤¥ó¥¹¥È¡¼¥ë

ports ¤«¤é¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤Î¤¬´Êñ¤À¤í¤¦
ports ¥Ä¥ê¡¼¤ÏºÇ¿·¤Ç¤¹¤«?

cd /usr/ports/net/vtun
make
make install

vtund ÀßÄê¥Õ¥¡¥¤¥ë

vtund ¤Ï /usr/local/etc °Ê²¼¤Ë vtund.conf ¤òÍѰդ·¡¤¤½¤ÎÃæ¤ËÀßÄê¤ò¹Ô¤¦¡¥

Router-1 ¤Î ipsec.conf ¤Ï¼¡¤ÎÍͤˤʤ롥
options {
        port            5000;
        ifconfig        /sbin/ifconfig;
        route           /sbin/route;
        syslog          daemon;
}

default {
        type            tun;
        proto           tcp;
        compress        lzo:6;
        keepalive       yes;
        encrypt         yes;
        stat            yes;
}

vpn {
        pass            hogege;
        device          tun1;

        up {
                ifconfig "%% 192.168.254.1/32 192.168.254.2 mtu 1450";
                route "add -net 192.168.2.0/24 192.168.254.2";
        };

        down {
                ifconfig "%% delete down";
                route "delete 192.168.2.0/24";
        };
}

Router-2 ¤Î ipsec.conf ¤Ï¼¡¤ÎÍͤˤʤ롥
options {
        port            5000;
        ifconfig        /sbin/ifconfig;
        route           /sbin/route;
        syslog          daemon;
}

default {
        type            tun;
        proto           tcp;
        compress        lzo:6;
        keepalive       yes;
        encrypt         yes;
        stat            yes;
}

vpn {
        pass            hogege;
        device          tun1;

        up {
                ifconfig "%% 192.168.254.2/32 192.168.254.1 mtu 1450";
                route "add -net 192.168.1.0/24 192.168.254.1";
        };

        down {
                ifconfig "%% delete down";
                route "delete 192.168.1.0/24";
        };
}

2¤Ä¤ÎÀßÄê¤òÈæ³Ó¤¹¤ë¤È¤ï¤«¤ë¤È»×¤¦¤¬¡¤options¡¤default ¤Î¥»¥¯¥·¥ç¥ó¤ÏƱ°ì¤Ç¡¤vpn ¥»¥¯¥·¥ç¥ó¤Î¤ß¿¾¯¤Î°ã¤¤¤¬¤¢¤ë¡¥
¤Þ¤º¤ÏÊÒÊý¤ÇÀßÄê¥Õ¥¡¥¤¥ë¤òºîÀ®¤·¡¤¥³¥Ô¡¼¤·¤Æ¤«¤éº¹Ê¬¤òÊѹ¹¤¹¤ëÊý¤¬Îɤ¤¤Ç¤¢¤í¤¦¡¥
º£²ó¤Ï2¤Ä¤ÎµòÅÀ¤Î VPN ¤Ê¤Î¤Ç¥¨¥ó¥È¥ê¤¬1¤Äʬ¤·¤«¤Ê¤¤¤¬¡¤3¤Ä¡¤4¤Ä¤ÈÁý¤¨¤ëËè¤Ë vpn2¡¤vpn3 ¤Î¤è¤¦¤ËÄɲ乤ëɬÍפ¬¤¢¤ë¡¥
º£²ó¤Ï¡¤¥×¥í¥È¥³¥ë¤Ë TCP ¤òÍѤ¤¤Æ¤¤¤ë¤¬¡¤UDP ¤ÎÊý¤¬¥×¥í¥È¥³¥ë¤Î»ÅÍ;她¥Ô¡¼¥É¤ÎÌ̤ÇÍ­Íø¤Ç¤¢¤í¤¦¡¥¤Þ¤¿¡¤VPN ´Ö¤Î¥Ñ¥±¥Ã¥È¤Ï¤Û¤Ü TCP ¤¬Î®¤ì¤ë¤À¤í¤¦¤«¤é¡¤¤½¤ÎÌ̤Ǥâ UDP ¤Ë¤·¤Æ¤ª¤¤¤¿Êý¤¬ÌµÆñ¤Ç¤¢¤ë¤È»×¤¦¡¥
TCP ¤Ë¤Ï¥Ñ¥±¥Ã¥È¥í¥¹¤ÎºÝ¤ÎºÆÁ÷µ¡Ç½¤¬¤¢¤ë°Ù¡¤VPN ÄÌ¿®¤ò TCP ¤Ç¤Ï¤ê¡¤¤½¤ÎÃæ¤â TCP ¤¬Î®¤ì¤ë¤È¡¤¤â¤·¥Ñ¥±¥Ã¥È¥í¥¹¤¬µ¯¤­¤¿¾ì¹ç¤ÏºÆÁ÷Í׵᤬2¤Ä½Ð¤ë»ö¤Ë¤Ê¤ë°Ù¤Ç¤¢¤ë¡¥OS ¤Î¥Í¥Ã¥È¥ï¡¼¥¯¼þ¤ê¤¬º®Í𤹤ë²ÄǽÀ­¤¬¤¢¤ë¤À¤í¤¦¡¥

vtund ¤Îµ¯Æ°

vtund ¤òµ¯Æ°¤·¡¤VPN ¤òÍøÍѤǤ­¤ë¤è¤¦¤Ë¤¹¤ë¡¥
¤Þ¤º¡¤Router-1 ¦¤Ç°Ê²¼¤ÎÄ̤ê¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¡¥
/usr/local/sbin/vtund -s

vtund ¤Îµ¯Æ°¤¬ ps ¥³¥Þ¥ó¥ÉÅù¤Ç³Îǧ½ÐÍ褿¤é¡¤Router-2 ¤Î vtund ¤òµ¯Æ°¤¹¤ë¡¥
/usr/local/sbin/vtund vpn 43.244.x.34

Router-2 ¤Î vtund ¤Îµ¯Æ°ÊýË¡¤ò¸«¤Æ¤â¤é¤¦¤ÈȽ¤ë¤¬¡¤VPN ¥»¥¯¥·¥ç¥ó̾¤È¡¤ÀܳÀè¤Î IP¥¢¥É¥ì¥¹¤ò»ØÄꤷ¤Æ¤¤¤ë¤Î¤¬¤ï¤«¤ë¡¥VPN ¥»¥¯¥·¥ç¥ó̾¤ò»ØÄꤹ¤ë¤³¤È¤Ç¡¤¥µ¡¼¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤Î¿ô¤¢¤ë¥»¥¯¥·¥ç¥ó¤ÎÆâ¡¤¤É¤Î¥»¥¯¥·¥ç¥ó¤ò»È¤¦¤Î¤«¤ò»ØÄꤷ¤Æ¤¤¤ëÌõ¤Ç¤¢¤ë¡¥

ưºî¤Î³Îǧ

¤µ¤Æ¡¤ÁÐÊý¤Î vtund ¤òµ¯Æ°¤·¤¿¸å ifconfig -a ¤Î·ë²Ì¤ò¸«¤ë¤È¡¤tun ¥Ç¥Ð¥¤¥¹¤¬À¸À®¤µ¤ì¡¤VPN ¤òÄ¥¤Ã¤Æ¤¤¤ë¤Î¤¬³Îǧ¤Ç¤­¤ë¤À¤í¤¦¡¥

Router-1 ¦¤Ç¤Ï¡¤¤³¤ÎÍͤˤʤ롥
tun1: flags=8051 mtu 1450
        inet 192.168.254.1 --> 192.168.254.2 netmask 0xffffffff
        Opened by PID 84449

Router-2 ¦¤Ç¤Ï¡¤¤³¤ÎÍͤˤʤ롥
tun1: flags=8051 mtu 1450
        inet 192.168.254.2 --> 192.168.254.1 netmask 0xffffffff
        Opened by PID 76368

ÁÐÊý¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é¡¤ping Åù¤ò¼Â¹Ô¤·ÊÖ»ö¤¬Ê֤äƤ­¤¿¤é¡¤ÌäÂê¤Ê¤¯ VPN ´Ä¶­¤¬¹½ÃÛ½ÐÍè¤Æ¤¤¤ë¡¥

¤Þ¤È¤á

°Ê¾å¤Ç FreeBSD ¤ò Router ¤È¤·¤¿ vtund ¤Ë¤è¤ë VPN ¤Î¹½Ãۤϴ°Î»¤·¤¿¡¥
vtund ¤Ï¥ª¡¼¥×¥ó¥½¡¼¥¹¥×¥í¥°¥é¥à¤Ê°Ù¡¤FreeBSD °Ê³°¤Î Unix·Ï OS ¤Ç¤âÍøÍѲÄǽ¤Ê°Ù¡¤Á°²ó¤Î IPSec ¤òÍøÍѤ·¤¿ VPN ¤è¤ê¤âÈÆÍÑÀ­¤¬¤¢¤ë¡¥
°ìÊý¤ò FreeBSD¡¤¤â¤¦°ìÊý¤ò Linux ¤È¤¤¤¦¤è¤¦¤Ê¹½À®¤â²Äǽ¤Ê°Ù¡¤¤³¤Á¤é¤òÍøÍѤ¹¤ë»ö¤ò¤ª´«¤á¤¹¤ë¡¥

Index ¤ËÌá¤ë


http://www.seichan.org/ 2004ǯ 12·î 1Æü