OpenWRT에서 OpenVPN 서버 설정하기 (임시로 간략하게 쓴 내용)
컴퓨터보안/네트웍세상 / 2011. 2. 27. 02:42
openvpn을 설치한다.
opkg update
opkg install kmod-fs-btrfs kmod-fs-ext2 kmod-fs-ext3 kmod-fs-ext4 kmod-fs-isofs kmod-fs-reiserfs kmod-fs-vfat kmod-fs-xfs
opkg install kmod-nls-cp1250 kmod-nls-cp1251 kmod-nls-cp437 kmod-nls-cp775 kmod-nls-cp850 kmod-nls-cp852 kmod-nls-cp866 kmod-nls-iso8859-1 kmod-nls-iso8859-13 kmod-nls-iso8859-15 kmod-nls-iso8859-2 kmod-nls-koi8r kmod-nls-utf8
opkg install kmod-usb2 kmod-usb-storage kmod-usb-storage-extras block-hotplug block-mount hotplug2
opkg install --force-overwrite avahi-daemon bwm fdisk fping iftop ip iptables-utils kmod-ipv6 libnl lft lsof luci-app-ntpc luci-app-openvpn luci-app-upnp luci-ssl miniupnpd mtr net-tools-hostname ngrep nmap ntpclient openssh-client openvpn rsync screen snmpd sshfs tcpdump
이상 위에 있는 것들을 설치하는 것이, 다양한 네트워크 설정에 필요하다.
/etc/config/openvpn 파일을 다음과 같이 설정한다.
config 'openvpn' 'MyOpenVPNServer'
option 'server' '10.100.200.0 255.255.255.0'
option 'dev' 'tun0'
option 'proto' 'tcp'
option 'port' '1194'
option 'keepalive' '10 120'
option 'ca' '/etc/openvpn/ca.crt'
option 'cert' '/etc/openvpn/cert.pem'
option 'key' '/etc/openvpn/key.pem'
option 'dh' '/etc/openvpn/dh.pem'
option 'status' '/tmp/openvpn-status.log'
option 'verb' '3'
option 'enable' '1'
/etc/openvpn/ 폴더에 인증서 파일 4개를 복사해둔다.
ca.crt
cert.pem
key.pem
dh.pem
방화벽에서 접속을 위한 설정을 입력한다.
/etc/firewall.user 파일에 다음의 내용을 추가한다.
# OpenVPN Remote Access & Routing Rule
iptables -I INPUT 1 -p udp --dport 1194 -j ACCEPT
iptables -I INPUT 1 -p tcp --dport 1194 -j ACCEPT
iptables -I FORWARD 1 --source 10.100.200.0/24 -j ACCEPT
iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.100.200.0/24 -o eth0 -j MASQUERADE
방화벽은 공유기를 reboot 하거나, 위의 설정 명령어를 한번 실행시켜도 된다.
서비스를 시작한다.
/etc/init.d/openvpn enable
/etc/init.d/openvpn start
하면 완료된다.
opkg update
opkg install kmod-fs-btrfs kmod-fs-ext2 kmod-fs-ext3 kmod-fs-ext4 kmod-fs-isofs kmod-fs-reiserfs kmod-fs-vfat kmod-fs-xfs
opkg install kmod-nls-cp1250 kmod-nls-cp1251 kmod-nls-cp437 kmod-nls-cp775 kmod-nls-cp850 kmod-nls-cp852 kmod-nls-cp866 kmod-nls-iso8859-1 kmod-nls-iso8859-13 kmod-nls-iso8859-15 kmod-nls-iso8859-2 kmod-nls-koi8r kmod-nls-utf8
opkg install kmod-usb2 kmod-usb-storage kmod-usb-storage-extras block-hotplug block-mount hotplug2
opkg install --force-overwrite avahi-daemon bwm fdisk fping iftop ip iptables-utils kmod-ipv6 libnl lft lsof luci-app-ntpc luci-app-openvpn luci-app-upnp luci-ssl miniupnpd mtr net-tools-hostname ngrep nmap ntpclient openssh-client openvpn rsync screen snmpd sshfs tcpdump
이상 위에 있는 것들을 설치하는 것이, 다양한 네트워크 설정에 필요하다.
/etc/config/openvpn 파일을 다음과 같이 설정한다.
config 'openvpn' 'MyOpenVPNServer'
option 'server' '10.100.200.0 255.255.255.0'
option 'dev' 'tun0'
option 'proto' 'tcp'
option 'port' '1194'
option 'keepalive' '10 120'
option 'ca' '/etc/openvpn/ca.crt'
option 'cert' '/etc/openvpn/cert.pem'
option 'key' '/etc/openvpn/key.pem'
option 'dh' '/etc/openvpn/dh.pem'
option 'status' '/tmp/openvpn-status.log'
option 'verb' '3'
option 'enable' '1'
/etc/openvpn/ 폴더에 인증서 파일 4개를 복사해둔다.
ca.crt
cert.pem
key.pem
dh.pem
방화벽에서 접속을 위한 설정을 입력한다.
/etc/firewall.user 파일에 다음의 내용을 추가한다.
# OpenVPN Remote Access & Routing Rule
iptables -I INPUT 1 -p udp --dport 1194 -j ACCEPT
iptables -I INPUT 1 -p tcp --dport 1194 -j ACCEPT
iptables -I FORWARD 1 --source 10.100.200.0/24 -j ACCEPT
iptables -I FORWARD -i eth0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.100.200.0/24 -o eth0 -j MASQUERADE
방화벽은 공유기를 reboot 하거나, 위의 설정 명령어를 한번 실행시켜도 된다.
서비스를 시작한다.
/etc/init.d/openvpn enable
/etc/init.d/openvpn start
하면 완료된다.