Dockerコンテナ上のKali LinuxからOpenVPN
Docker for Mac上にKali LinuxのGUI環境を作成する - Trance Shift 8 - Tech
の記事を書いてGUI出来たやったー、さあTryHackMeのCTFやっぞ!と思ったら
ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
トンネルI/Fが無く、VPNが張れなかった。
- [TryHackMe]Docker+KaliでOpenVPN(+αでParrot OSに関して)
- Calling OpenConnect VPN client in docker container shows TUNSETIFF failed: Operation not permitted
このあたりを参考にすると、
- Dockerにはデフォルトでネットワーク関連の機能は省略されている
priviledged
を指定してコンテナを動作させるのが楽だけど、ちょっとリスクが高い- そこで、
NET_ADMIN
だけ付与して動作させるのがよさそう
とのこと。以前の記事では Dockerfile
を使ってなかったので、スクリプトに組み込む形にした。
以下にコマンドを変更。
# Host (--cap-add NET_ADMINを追加) docker run -it --rm \ -p "5905:5900" \ -p "8081:8081" \ -v "kali-xface:/home/kali" \ -v "$HOME/dev/:/mnt/dev" \ --cap-add NET_ADMIN \ --name kali \ kali-xfce zsh -c 'su - kali'
VPNを張る際に、トンネルI/Fが必要になるので、
# vpn.sh sudo mkdir -p /dev/net && sudo mknod /dev/net/tun c 10 200 sudo openvpn vpn/***.ovpn