ssh, ipv4 versus ipv6 (was: uclibc + iproute2 - compile problem) - vyreseno
oldfrog na volny.cz
oldfrog na volny.cz
Čtvrtek Červen 12 14:24:54 CEST 2003
>>Dale jsem nalezl zajimavou chybu ohledne tcpwrapperu a ssh pristupu -
>>neni-li v sshd_config zadana IP adresa, na ktere ma daemon poslouchat
>>a je-li sshd kompilovan s tcp_wrapperem, tvari se prichozi spojeni pro
>>tcp_wrapper jako by melo IP adresu 0.0.0.0. V dusledku toho nelze
>>pouzit hosts.allow a hosts.deny. Je to zrejme chyba na urovni tcp
>>wrapperu. To jen, abyste nad tim zbytecne nebadal. Hloubeji jsem jev
>>nezkoumal, stejna verze sshd prelozena s tcpwrapperem a glibc
>>knihovnou funguje spravne.
>>
>>
>To spis vypada na to, ze pod uClibem funguje nejak divne getsockname().
>
>--Pavel Kankovsky aka Peak [ Boycott Microsoft--http://www.vcnet.com/bms ]
>
Zjistil jsem, proc to nefunguje. Sshd je prelozen s ipv6 podporou. Pokud
v sshd_config nezadam,
na jake ip ma naslouchat, pouzije se automaticky ipv6 a IP
prihlasujiciho se klienta se take zjistuje jako
ipv6. IP adresa klienta v ipv6 tvaru nesouhlasi se zapisem v hosts.allow
a spojeni je odmitnuto.
Pokud v sshd_config zadam adresu v ipv4 tvaru, pouzije se pouze ipv4.
Zjistena klientska adresa
odpovida ipv4 adrese a na zaklade shody se zapisem v hosts.allow je
spojeni prijato.
Uvedeny jev je zrejme v glibc jiz nejak osetren. Ja jsem situaci
jednoduse resil prepinacem '-4'.
Sshd daemon spusteny pomoci "sshd -4" pouziva pouze ipv4 protokol.
Zdravi
OldFrog.
Další informace o konferenci Linux