Mac openVPN 서버 설치
설정 conf, key 만들기 등은
이 글 참고.
사실 난 우분투에서 만들었던 키 들을 그대로 가져왔기 때문에 잘 모르겠지만
크게 다르진 않을거다.
easy-rsa 의 경우도 구글링 해볼 것.
일단 설치는 간단하다.
brew install openvpn
mac ports 로도 되는 것 같지만 brew 가 훨씬 편하니 난 저것만 쓰겠음.
설치하고 나면 daemon 관련 작업을 하라고 하는데
sudo cp -fv /usr/local/opt/openvpn/*.plist /Library/LaunchDaemons
이것만 하고 그 뒤에 launchctl load 부분은 일단 스킵.
설정 파일가 위치할 폴더는 /usr/local/etc/openvpn/ 이다.
(사실 어디에 있든 상관은 없다.)
위에 링크한, 우분투에 openVPN 설치 글을 참고하여 키와 설정파일 들을 만들자.
그러고 나서 아까 brew 설치 후 시키는 대로 복사한 파일을 수정하자.
루트 권한이니 그냥 터미널로 수정을 추천. 잘 모르겠으면 복사해서 수정 후 다시 집어넣어 주면 된다.
<array>
<string>/usr/local/opt/openvpn/sbin/openvpn</string>
<string>--config</string>
<string>/usr/local/etc/openvpn/openvpn.conf</string>
</array>
빨간색으로 표시한 부분을 자신의 설정파일에 맞게 바꿔주자.
나의 경우엔 server.conf
만약 디렉토리 자체를 다른 곳에서 시작한 경우 앞부분 경로를 맞게 수정해주고
밑에 WatchPaths 와 WorkingDirectory의 경로도 바꿔주면 된다.
그리고 저장.
데몬을 로드하기 전에 문제가 있나 확인하기 위해 직접 실행해 본다.
나의 경우 설정 파일 경로 부터 key 권한 문제까지 여러 문제가 많았거든..;;ㅋㅋ
자신의 설정파일이 위치한 폴더로 이동 후( cd /usr/local/etc/openvpn/ )
sudo /usr/local/opt/openvpn/sbin/openvpn --config /usr/local/etc/openvpn/openvpn.conf
위에서 설정한 환경에 따라 당연히 인자는 적절히 수정해 줄 것.
실행 후
Initialization Sequence Completed
라는 메세지가 나오면 성공이다.
인터럽트 걸고 나온 후에
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.openvpn.plist
를 실행해 주자.
이 후 연결해보면 연결은 잘 될텐데 클라이언트에서 인터넷이 안된다.
우분투에서의 iptables 같은 작업이 필요한 것.
그건 이렇게 하면 된다.
sudo sysctl -w net.inet.ip.fw.enable=1
sudo sysctl -w net.inet.ip.forwarding=1
sudo natd -interface en0
sudo ipfw add divert natd ip from any to any via en0
얘도 재부팅마다 해줘야 하는데,
https://forums.openvpn.net/topic11401.html
여기 들어가보면 저 스크립트를 데몬화 해주는 방법이 있다.