Ubuntu 12.04 에서 openswan 을 사용하여 l2tp 서버를 설치한 글은 - 우분투 L2TP VPN 설치/설정법



요즘에 IKEv2 라는거 사용을 권장하는 것 같긴 하지만, 일단 귀찮으니 그냥 L2TP 를 사용해보도록 하자.


1. IPSEC

Ubuntu 16.04 부터는 openswan 이 기본 repository 에 제공되지 않는다. 대체품으로 strongswan 을 설치하자.

strongswan 을 사용하면서 설정이 조금 다른데, 이걸 제외하면 이전 글과 동일하다.


# apt-get install strongswan

# vi /etc/ipsec.conf


# vi /etc/ipsec.secrets


# service ipsec restart


2. xl2tpd

이전 글과 똑같다. 귀찮으니 딱 필요한 부분만 적겠음.


# apt-get install xl2tpd ppp

# vi /etc/xl2tpd/xl2tpd.conf


# vi /etc/ppp/options.xl2tpd


# vi /etc/ppp/chap-secrets


# service xl2tpd restart


3. iptables

# iptables -A FORWARD -s 10.7.0.0/24 -j ACCEPT

# iptables -t nat -A POSTROUTING -s 10.7.0.0/24 -o eth0 -j MASQUERADE


$ echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf




* 안되면 재부팅을 해보자. 아마 IPSEC 설치 후 재부팅을 해야하는 것으로 안다.(아닐수도)

PPTP, L2TP는 공유기 설정에 따라 사용이 불가능하거나 일부러 막아놓은 경우도 있다.


이런 저런 불편함이 있어서 OpenVPN 이란게 있는데,

자세한 내막은 모르겠지만 이 녀석을 기본 내장하는 기기는 하나도 없음.

클라이언트 설정 파일 자체가 워낙 복잡해서 그런것 같기도 하다.


여튼,

안드로이드, iOS 도 원래 OpenVPN 이 사용이 불가했다.

루팅 혹은 탈옥을 하고난 후면 사용이 됬지만.


그러다 안드로이드는 4.0 부터인가? OpenVPN 일부를 서드파티 앱의 형태로 사용가능하게 되었고

iOS 도 언제부터인지 모르겠지만 서드파티 vpn plugin 을 제공하기 시작한 것 같다.


여튼 지금 글 쓰려는건 iOS 용 OpenVPN.

(뭐 그래봤자 딱히 쓸 내용도 없고 간략한 소개 정도..)





올해(2013년) 1월달에 나왔으며 iOS 5.0 이상을 지원한다.




(443 포트로 OpenVPN 을 열면 왠만한 차단은 다 뚫을 수 있단걸 내게 가르쳐준) Private Tunnel 사의 서비스는 기본으로 지원하고,

그 외엔 클라이언트 파일을 서버로 부터 받거나,

iTunes 로 넣거나, 메일로 받으면 된다고 설명하고 있다.


web, 메일 등에서의 외부 파일 연결은 zip 등 압축은 지원하지 않고 .ovpn 만 지원한다.

iTunes 로 넣을 경우 키 파일등을 따로 넣어도 ovpn 파일 내용을 토대로 알아서 가져오는데,

web에서 가져오거나 메일로 받을때는 어떻게 되는지 모르겠다.


나 같으면 key 들을 모두 .ovpn 에 쑤셔넣었다.



Web 으로 .ovpn 설정 파일을 받을때 OpenVPN 으로 연결이 안나오고

그냥 내용물이 출력된다면 더보기 클릭!



아이튠즈로 넣든, 메일로 받든, OpenVPN 앱에서 설정 파일을 추가할건지 묻고 추가하면 이제 사용가능!





연결 잘~된다 ㅎㅎ

443 포트와 같이 원래 서드파티 앱에서 사용불가능한 포트들도 사용가능!!






앱에서 사용한 설정이 설정 앱의 VPN 메뉴에서도 볼 수 있는데,

안타깝게도 다른 설정이나 연결은 안되고 각종 설정은 앱에서 하라는 메세지가 나온다.(심지어 여기서 삭제도 안됨)

연결 중일때 해제는 가능하다.


아이튠즈에서 설정파일을 넣고, 추가하고 나면 앱의 샌드박스 내 어디에도 설정 파일을 찾아볼 수 없는 것으로 보아

VPN 설정 추가시 설정, 키들을 iOS 키체인으로 집어 넣는 듯 하다.





참고로 OpenVPN 앱 내 말고, 설정 앱 안에 OpenVPN 설정 메뉴가 생기면서 다른 설정들도 가능하다.




탈옥을 하지 않고 순정에서도 할 수 있는 작업이 점점 늘어나는건 확실히 기분좋은 일인 것 같다~

개발자용 기기는 탈옥에 맞먹는 자율성을 부여해주면 좋을텐데...ㅠㅠ

2017.01.16 추가 - Ubuntu 16.04 LTS xl2tpd + strongswan 설치


아래 글은 Ubuntu 12.04 에서 작성 및 테스트하였다.


-------------------------------------------


vpn 의 목적이

1. 학교에서 막힌 곳 뚫기

2. 컴퓨터나 서버와 간단히 연결하기


였는데 openvpn 의 불편함으로 l2tp 뚫어봤음...

3g 에서 l2tp 연결해두고 학교 와이파이 잡으면 정상 사용가능한게 미스터리..ㅋㅋ

와이파이는 연결되있고 인터넷은 3g 이용함...ㅠㅠ



openvpn 은 워낙 헤매서 기억을 더듬어 어느정도 써놨는데

l2tp 는 전혀 기억이 안나므로 과정 대충 베끼다가 설정 파일들은 그냥 다 첨부하겠음 ㅋㅋ


우선 ipsec 설치 / 설정

apt-get install openswan

cp /etc/ipsec.d/examples/l2tp-psk.conf /etc/ipsec.d/l2tp-psk.conf

그리고 저 파일 수정이지만 내 설정을 올리겠으


다음은 /etc/ipsec.conf


virtual_private 는 특정 서브넷을 허용하고, 거부한단건데 사실 잘 모르겠음. 난 그냥 대충 해놨고, 잘 작동함. ㅋ


그리고 /etc/ipsec.secrets 을 열어서

서버주소 %any: PSK "공용 암호키"

를 넣어준다.


그 다음 service ipsec restart



드디어 본론! l2tp 설치/설정


sudo apt-get install xl2tpd ppp


설치 후

/etc/xl2tpd/xl2tpd.conf 를 수정해준다



아이피 주소 같은건 알아서 수정하자.

참고로 10.~~ 를 사용하지 않고 다른 대역을 사용하려면 ipsec.conf 파일에 virtual_private 를 수정해야할 필요가 있을수도 있음.


다음은 /etc/ppp/options.xl2tpd



이것 역시 dns 정도는 알아서 바꿔주자.


다음으로 /etc/ppp/chap-secrets 파일을 수정해주자.

로그인 정보 파일이며 이거 수정후에 재시작해 줄 필요는 없다.


(아이디        서버이름   비밀번호            할당할 아이피)


이 정보들을 쓰면 된다. 간격은 탭으로 적당히 띄우면 됨.

서버 이름과 할당할 아이피에는 * 을 써도 됨.

ex)

id            l2tpd    password            *



xl2tpd 재시작 해주면 된다. ( service xl2tpd restart )



아 iptables 설정을 해줘야 한다.


iptables -A FORWARD -s 10.7.0.0/24 -j ACCEPT

iptables -t nat -A POSTROUTING -s 10.7.0.0/24 -o eth0 -j MASQUERADE


그리고 네트워크 포워드까지..


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


마지막 iptables 설정이랑 ip_forward 이건 재부팅시 초기화 된다. 매번 재시작시 다시 해주거나 재시작시 자동으로 되게 알아서 하면 됨.



ps. 혹시 안되면 재부팅 해보셔요.. 안되던거 재부팅으로 해결 ㅡㅡ

ps2. 몇번 나눠쓰고 대충 써서 글이 이상하거나 빼먹은거 있을 수 있음.

어차피 나보라고 쓰는거니까 나를 위해 태클걸어주면 감사히 수정하겠습니다~(?) ㅋ

'Linux, Server, Web' 카테고리의 다른 글

phpmyadmin 에러  (2) 2012.11.18
사용해 본 VPS 비교  (2) 2012.11.14
우분투 openVPN 설치/설정법  (0) 2012.09.29
ftp / samba  (0) 2012.01.01
Ubuntu apache2/php5/mysql/mariadb  (0) 2012.01.01

+ Recent posts