Dante SOCKS5 프록시 서버가 ipv6에서 작동하지 않습니다

Dante SOCKS5 프록시 서버가 ipv6에서 작동하지 않습니다

이 명령을 테스트하고 입력하는 동안

curl -x socks5://<user>:<pass>@<ip>:<port> ifconfig.co

오류 메시지를 반환합니다

Can't complete SOCKS5 connection to <ip address v6>

ipv6를 비활성화하면 컬 테스트가 작동하지만 이는 올바른 접근 방식이 아닙니다. 이 튜토리얼을 적용해 보았지만 여전히 성공하지 못했습니다.

http://www.inet.no/dante/doc/latest/config/ipv6.html

================================================= = ===========

Dante 구성 파일

logoutput: /var/log/socks.log
internal: enp0s3 port = 1080
external: enp0s3
clientmethod: none
socksmethod: none
user.privileged: root
user.notprivileged: nobody

client pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: error connect disconnect
}
client block {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect error
}
socks pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: error connect disconnect
}
socks block {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect error
}

답변1

~에서https://www.inet.no/dante/doc/1.4.x/config/ipv6.html

변경을 위해 sockd.conf를 구성합니다. example.com), 이러한 인터페이스 이름이나 호스트 이름에는 현재 또는 미래에 IPv6 주소가 포함될 수 있습니다.

내부 인터페이스가 IP 주소 중 하나가 아닌 이름으로 지정된 경우 Dante 서버는 기본적으로 내부 인터페이스에 있는 모든 주소를 사용합니다. 인터페이스에 하나 이상의 IPv6 주소가 있는 경우 Dante 서버도 IPv6 주소를 사용하게 됩니다.

인터페이스 enp0s3에 ipv6 주소가 할당되어 있는지 확인하십시오. 그렇다면 dante는 해당 주소를 사용하려고 합니다. 이를 염두에 두고 enp03sipv4 주소로 바꾸면 문제가 해결됩니다.

예:

internal: 10.2.4.6 port = 1080

답변2

Dante 서버가 IPv4 및 IPv6 주소 모두에 대한 요청을 수락하려면 내부 sockd.conf 키워드에 대한 인수로 두 가지 유형의 주소가 모두 포함된 네트워크 인터페이스를 지정하거나 다른 주소로 키워드를 여러 번 지정해야 합니다. 예를 들어:

#accept SOCKS requests on 10.0.0.1 (IPv4) and fc00::01 (IPv6)
internal: 10.0.0.1 port = 1080
internal: fc00::1  port = 1080

Dante의 구성 파일에는 두 가지 주소 유형에 대한 규칙도 필요합니다.

#accept connections from any IPv4 client
client pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
}

위는 모든 IPv4 클라이언트가 Dante 서버에 연결하도록 허용하는 IPv4 주소 규칙의 예입니다. IPv6에 해당하는 규칙은 다음과 같습니다.

#accept connections from any IPv6 client
client pass {
        from: ::/0 to: ::/0
}

위의 두 규칙은 하나의 주소 유형에만 일치하며, 첫 번째 규칙은 IPv4에만 일치하고 두 번째 규칙은 IPv6에만 일치합니다. 주소 계열에 관계없이 모든 주소를 허용하는 규칙을 추가하려면 다음과 같은 특수 Dante 관련 주소 구문(0/0)을 사용할 수 있습니다.

#accept connections from any client
client pass {
        from: 0/0 to: 0/0
}

관련 정보