증상 발생

  • 우분투 업그레이드를 진행하였는데 업그레이드 진행한 이후 쉘 접속이 끊기는 문제가 발생하였습니다. 업그레이드는 다음과 같은 명령어를 사용하여 진행하였습니다.
# 배포 패키지 업그레이드 
sudo apt update 
sudo apt upgrade
sudo apt dist-upgrade

# 리눅스 릴리즈 업그레이드
sudo apt install update-manager-core
sudo do-release-upgrade
  • 서버에 직접 모니터를 물려서 확인해보니 물리 네트워크 인터페이스가 인식이 되지 않는 것이 문제였습니다. 해당 문제는 아래 명령어를 통해 확인하였습니다.

    ifconfig -a | grep eth0 
    # 결과값이 출력되나 IPv4 가 할당되지 않음. (평소였다면 할당되었어야 함)
    

결과값이 출력되지 않음.

  • 이후 구글링을 통해 원인을 찾았습니다.

apparmor.d 가 문제.

  • 업그레이드 직후 apparmor.d 가 문제였습니다. (그렇다고 기본 네트워크를 아예 못쓰게만드냐...)

  • 확인해보니 apparmor 는 SELinux 와 유사한 리눅스 보안 모듈이라 합니다.

해결

  • apparmor.d 정책 중 dhclient 에 대한 것을 비활성화하였습니다.

    # apparmor.d 를 비활성화
    sudo ln -s /etc/apparmor.d/sbin.dhclient /etc/apparmor.d/disable/  
    sudo /etc/init.d/apparmor reload
  • apparmor 에서 특정 정책 complain 모드로 변경하여 해결할 수도 있습니다. 여기서 complain 모드란 정책을 제한하진 않되, 로그로만 기록해 두는 모드입니다.

     sudo aa-complain /usr/sbin/dhclient
  • 아래는 비활성화 명령어 History 를 캡쳐한 부분입니다.

이으며..

  • 이 방법은 완전한 해결 방법이 아닌데다가, aa-status 명령어를 치면 나오는 모든 모듈들의 정책이 어긋나서 나온 문제로 보입니다. 해당 모듈들에 대해서 정상적인지 테스트를 해야할 듯합니다.
  • 임시로 문제가 발생하는 모듈에 대해서 aa-complain /usr/sbin/tcpdum 등의 명령어로 풀어갈 생각입니다.
  • 룰을 계속 추가하면서 사용하려니 너무 번거로워 지금은 apparmor.d 를 사용안하도록 변경하여 사용하고 있습니다. (내부망에서만 사용하는 서버니까..)



# 클라이언트에서 수정하는 방법

1. 증상

로그인시 위와 같은 로그가 나타나며,

 접속은 되나 실제 내부망에 접속이 안되는 현상이 발생.


 

 

 

2. 원인


 위 로그 중  'do_ifconfig.tt->did_ifconfig_ip6_setup=0' 는 IPv6 을 활성화시킨 서버라는 뜻인데,

openVPN 구축시에 ip4로만 구축을 진행하였기 때문에 문제가 생김.


즉, VPN클라이언트에서 IPv6 에 대한 설정을 하지 않았음에도 IPv6 로 접속 시도하여 생기는 문제 

->openVPN PC 에서 설치시 설치되는 네트워크 어댑터의 IPv6 사용을 해제하여 해결가능하다.

 

3. 해결 방법 (설치 PC)

1.     TAP-Windows Adapter V9 어댑터 속성으로 이동

OpenVPN 설치시 TAP-Windows Adapter V9 가 기본으로 설치됩니다.

제어판 - 네트워크 연결 - 속성으로 이동합니다.

 


2.     증상재확인

 

인터넷 프로토콜 버전 6(TCP/IPv6) 를 체크해제 한 뒤 확인 버튼을 누릅니다.


 




# VPN 서버에서 수정하는 방법



클라이언트에서 IP6을 비활성화 시키는 방법이 있지만,

근본적으로는 서버에서 IP6을 사용하지 않도록 하면 된다.



vi /etc/sysctl.conf   입력하여 설정 변경


#아래 설정으로 변경

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

net.ipv6.conf.lo.disable_ipv6 = 1 



그리고 아래 명령어를 실행

sudo sysctl -p






출처 : https://askubuntu.com/questions/440649/how-to-disable-ipv6-in-ubuntu-14-04 

+ Recent posts