네트워크 네임스페이스 내의 Netlink 액세스

네트워크 네임스페이스 내의 Netlink 액세스

Raspberry Pi 2에 IPsec 게이트웨이(strongSwan)를 설정하려고 합니다.

Pi는 이미 개인 IP 주소를 사용하여 LAN에서 많은 서비스를 제공합니다.

처음에는 동일한 인터페이스( )에 공용 IP 주소를 추가하고 eth0이 새 주소에서 StrongSwan SA를 활성화하여 이를 IPsec 게이트웨이로 전환해 보았습니다. 이것은 작동 pcrypt하며 모듈을 활성화한 상태에서 약 80Mbps의 암호 해독 처리량을 얻을 수 있었습니다. 이는 모든 면에서 정말 좋은 수치입니다.

그런 다음 StrongSwan 항목을 별도의 네트워크 네임스페이스로 격리하기로 결정했습니다. 저는 이 작업을 수행하고 ip netns add vpnmacvlan장치를 만든 eth0다음 이를 vpn네임스페이스에 추가했습니다. 그런 다음 달려갔더니 ip netns exec vpn ipsec start모든 것이 정상으로 돌아왔습니다.

그러나 pcrypt네임스페이스 내에는 더 이상 활동이 없는 것으로 보이며 처리량이 약 25Mbps로 떨어집니다. 나는 일반적 으로 다음을 pcrypt사용하여 활성화합니다.crconf이 지시. 네임스페이스 내에서 호출하면 네트워크 링크 오류로 인해 계속 실패합니다. 실행하면 strace crconf다음 보석이 제공됩니다.

socket(PF_NETLINK, SOCK_RAW, NETLINK_CRYPTO) = 3
setsockopt(3, SOL_SOCKET, SO_SNDBUF, [32768], 4) = 0
setsockopt(3, SOL_SOCKET, SO_RCVBUF, [1048576], 4) = 0
bind(3, {sa_family=AF_NETLINK, pid=0, groups=00000000}, 12) = 0
getsockname(3, {sa_family=AF_NETLINK, pid=997, groups=00000000}, [12]) = 0
send(3, "\24\0\0\0\23\0\1\3U\212\327V\0\0\0\0\0\0\0\0", 20, 0) = -1 ECONNREFUSED (Connection refused)

NETLINK_CRYPTO따라서 커널은 네트워크 네임스페이스 내에서 소켓으로의 연결을 거부합니다.

NETLINK_CRYPTO질문: 내 네트워크 네임스페이스로부터의 연결을 허용하려면 어떻게 해야 합니까 ?

관련 정보