Facebook API ipv6 Network is unreachable

LINUX에서 FACEBOOK API 연동시 아래와 같은 오류가 발생했습니다

Failed to connect to 2a03:2880:2050:1f08:face:b00c:0:1: Network is unreachable

 이 오류는 ipv4 설정이 되있는 서버에서 ipv6가 활성화 되면서 해당 도메인의 ipv6 주소로 접근을 하려고하나, 해당 서버의 ipv6 네트워크가 정상적이지 않기 때문에 발생하는 오류입니다.

 이 문제는 해당서버의 ipv6를 disable 해주므로써 해결이 가능합니다.

vi /etc/sysctl.conf
# disable ipv6
net.ipv6.conf.all.disable_ipv6=1sysctl -p (재부팅 안하고 적용)

위와 같이 설정후 재부팅하면 적용이 가능하고, 혹시라도 안되면 아래의 사이트에서 다른 방법을 찾아봐야할 것 같습니다.

 

http://wiki.centos.org/FAQ/CentOS5#head-47912ebdae3b5ac10ff76053ef057c366b421dc4

 

9. How do I disable IPv6?

  • Edit /etc/sysconfig/network and set “NETWORKING_IPV6” to “no”
  • For 5.4 and later, replace in /etc/modprobe.conf

 

alias ipv6 off

by

options ipv6 disable=1

Alternative (which might be easier and works on any release with /etc/modprobe.d):

# touch /etc/modprobe.d/disable-ipv6.conf
# echo "install ipv6 /bin/true" >> /etc/modprobe.d/disable-ipv6.conf
  • For CentOS 5.3 or older, add the following to /etc/modprobe.conf :

 

alias ipv6 off
alias net-pf-10 off
  • Run /sbin/chkconfig ip6tables off to disable the IPv6 firewall
  • Reboot the system

<!> With the 5.4 update symbol/ipv6 module dependency capabilities have been introduced; therefore, if IPv6 has been previously disabled as above an upgrade to the bonding driver in 5.4 will result in the bonding kernel module failing to load. For the module to load properly use instead:

# touch /etc/modprobe.d/disable-ipv6.conf
# echo "options ipv6 disable=1" >> /etc/modprobe.d/disable-ipv6.conf

<!> <!> Upstream employee Daniel Walsh recommends not disabling the ipv6 module but adding the following to /etc/sysctl.conf:

net.ipv6.conf.all.disable_ipv6 = 1