LINUX.ORG.RU

Сообщения niklep

 

Проблема с HDD? I/O Error

Доброго времени суток. Имею такую проблему: после длительного простоя ПК имею ошибки:
bash на все команды говорит: «Файловая система доступна только для чтения», иногда «Ошибка ввода/вывода».
В dmesg висит:

[sda] CDB: Read(10): 28 00 00 cc 6a 98 00 00 08 00
end_request: I/O error, dev sda, sector 13396632
[sda] Unhandled error code
Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
Проверил диск при перезагрузке, на root получил 1.1% non-contiguous, на home 23.8% non-contiguous. Не знаю, как на эти non-contiguous реагировать.
badblock сказал, что все хорошо.
SMART говорит следующее:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   200   200   051    Pre-fail  Always       -       0
  3 Spin_Up_Time            0x0027   187   186   021    Pre-fail  Always       -       1625
  4 Start_Stop_Count        0x0032   092   092   000    Old_age   Always       -       8821
  5 Reallocated_Sector_Ct   0x0033   200   200   140    Pre-fail  Always       -       0
  7 Seek_Error_Rate         0x002e   200   200   000    Old_age   Always       -       0
  9 Power_On_Hours          0x0032   085   085   000    Old_age   Always       -       11076
 10 Spin_Retry_Count        0x0033   100   100   051    Pre-fail  Always       -       0
 11 Calibration_Retry_Count 0x0032   100   100   000    Old_age   Always       -       0
 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       1624
192 Power-Off_Retract_Count 0x0032   200   200   000    Old_age   Always       -       282
193 Load_Cycle_Count        0x0032   093   093   000    Old_age   Always       -       323579
194 Temperature_Celsius     0x0022   096   091   000    Old_age   Always       -       51
196 Reallocated_Event_Count 0x0032   200   200   000    Old_age   Always       -       0
197 Current_Pending_Sector  0x0032   200   200   000    Old_age   Always       -       0
198 Offline_Uncorrectable   0x0030   100   253   000    Old_age   Offline      -       0
199 UDMA_CRC_Error_Count    0x0032   200   200   000    Old_age   Always       -       0
200 Multi_Zone_Error_Rate   0x0009   200   200   051    Pre-fail  Offline      -       0
 
 
Error 66 occurred at disk power-on lifetime: 1844 hours (76 days + 20 hours)
  When the command that caused the error occurred, the device was active or idle.
 
  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  01 51 00 ba 66 ea ed  Error: AMNF at LBA = 0x0dea66ba = 233465530
 
  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 08 b8 66 ea 0d 08      17:33:57.300  READ DMA
  ef 10 02 00 00 00 00 08      17:33:57.300  SET FEATURES [Reserved for Serial ATA]
  27 00 00 00 00 00 00 08      17:33:57.300  READ NATIVE MAX ADDRESS EXT
  ec 00 00 00 00 00 00 08      17:33:57.297  IDENTIFY DEVICE
  ef 03 46 00 00 00 00 08      17:33:57.296  SET FEATURES [Set transfer mode]
 
Error 65 occurred at disk power-on lifetime: 1844 hours (76 days + 20 hours)
  When the command that caused the error occurred, the device was active or idle.
 
  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  01 51 00 ba 66 ea ed  Error: AMNF at LBA = 0x0dea66ba = 233465530
 
  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 08 b8 66 ea 0d 08      17:33:53.829  READ DMA
  ef 10 02 00 00 00 00 08      17:33:53.829  SET FEATURES [Reserved for Serial ATA]
  27 00 00 00 00 00 00 08      17:33:53.829  READ NATIVE MAX ADDRESS EXT
  ec 00 00 00 00 00 00 08      17:33:53.826  IDENTIFY DEVICE
  ef 03 46 00 00 00 00 08      17:33:53.825  SET FEATURES [Set transfer mode]
 
Error 64 occurred at disk power-on lifetime: 1844 hours (76 days + 20 hours)
  When the command that caused the error occurred, the device was active or idle.
 
  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  01 51 00 ba 66 ea ed  Error: AMNF at LBA = 0x0dea66ba = 233465530
 
  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 08 b8 66 ea 0d 08      17:33:50.747  READ DMA
  ef 10 02 00 00 00 00 08      17:33:50.747  SET FEATURES [Reserved for Serial ATA]
  27 00 00 00 00 00 00 08      17:33:50.747  READ NATIVE MAX ADDRESS EXT
  ec 00 00 00 00 00 00 08      17:33:50.744  IDENTIFY DEVICE
  ef 03 46 00 00 00 00 08      17:33:50.744  SET FEATURES [Set transfer mode]
 
Error 63 occurred at disk power-on lifetime: 1844 hours (76 days + 20 hours)
  When the command that caused the error occurred, the device was active or idle.
 
  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  01 51 00 ba 66 ea ed  Error: AMNF at LBA = 0x0dea66ba = 233465530
 
  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 08 b8 66 ea 0d 08      17:33:47.665  READ DMA
  ef 10 02 00 00 00 00 08      17:33:47.665  SET FEATURES [Reserved for Serial ATA]
  27 00 00 00 00 00 00 08      17:33:47.665  READ NATIVE MAX ADDRESS EXT
  ec 00 00 00 00 00 00 08      17:33:47.662  IDENTIFY DEVICE
  ef 03 46 00 00 00 00 08      17:33:47.661  SET FEATURES [Set transfer mode]
 
Error 62 occurred at disk power-on lifetime: 1844 hours (76 days + 20 hours)
  When the command that caused the error occurred, the device was active or idle.
 
  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  01 51 00 ba 66 ea ed  Error: AMNF at LBA = 0x0dea66ba = 233465530
 
  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  c8 00 08 b8 66 ea 0d 08      17:33:44.494  READ DMA
  ef 10 02 00 00 00 00 08      17:33:44.494  SET FEATURES [Reserved for Serial ATA]
  27 00 00 00 00 00 00 08      17:33:44.494  READ NATIVE MAX ADDRESS EXT
  ec 00 00 00 00 00 00 08      17:33:44.491  IDENTIFY DEVICE
  ef 03 46 00 00 00 00 08      17:33:44.490  SET FEATURES [Set transfer mode]
 
SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed without error       00%     11076         -
# 2  Short offline       Completed without error       00%     11044         -
P.S. ОС Debian
Linux nik 3.0.0-1-amd64 #1 SMP Sat Aug 27 16:21:11 UTC 2011 x86_64 GNU/Linux
На Дебиан перелез максимум месяц назад с Арча. Там такая же проблема была, но тогда я ее никак не диагностировал.

niklep
()

PAM/NSS через TLS

Доброго времени суток. Есть проблема, заключается она в следующем.
Есть 4 машины на ALTLinux. На всех настроен логин через LDAP (с помощью PAM/NSS). И почему-то на двух из них логин работает, а на двух других нет.
При этом на всех прекрасно работает getent user (user находится в LDAP), ldapsearch также работает через TLS. Логично предположить, что с сертификатами проблем нет.
Содержимое конфигов pam_ldap.conf и nss_ldap.conf на всех машинах идентично.
pam_ldap.conf

base dc=uriit,dc=local
uri ldap://ldap.uriit.ru
rootbinddn cn=pamnss,ou=services,dc=uriit,dc=local
port 389
scope sub
timelimit 5
bind_timelimit 5
pam_filter objectclass=posixAccount
pam_login_attribute uid
pam_member_attribute memberUid
ssl start_tls
tls_checkpeer yes
tls_cacertfile /etc/openldap/ssl/cacert.pem
tls_cert /etc/openldap/ssl/newcert.pem
tls_key /etc/openldap/ssl/newkey.pem
nss_ldap.conf
base dc=uriit,dc=local
uri ldap://ldap.uriit.ru
rootbinddn cn=pamnss,ou=services,dc=uriit,dc=local
port 389
scope sub
timelimit 5
bind_timelimit 5
pam_filter objectclass=posixAccount
pam_login_attribute uid
pam_member_attribute memberUid
ssl start_tls
tls_checkpeer yes
tls_cacertfile /etc/openldap/ssl/cacert.pem
tls_cert /etc/openldap/ssl/newcert.pem
tls_key /etc/openldap/ssl/newkey.pem
В тот момент, когда пытаюсь залогиниться с неработающей машины, после ввода пароля система крепко задумывается (из логов видно, что пытается подключиться к LDAP):
May 30 18:18:41 ldap sshd[7229]: Accepted password for nlepehin from 192.168.11.118 port 1245 ssh2
May 30 18:18:42 ldap -bash: nss_ldap: reconnecting to LDAP server (sleeping 4 seconds)...
После раздумий выдает:
[I have no name!@ldap ~]$
При этом пароль он может сверять, как видно из первой строчки лога выше. И если ввести неверный пароль он тут же скажет, что он неверен.
Мне кажется, что pam отрабатывает, а ошибка связана с NSS.

niklep
()

LDAP: Наследование user'ом полей из его группы

Доброго времени суток. Есть проблема, наверное простая. Но на деле для меня оказалось не так.
Необходимо, чтобы пользователь, состоящий в некоторой группе, наследовал оттуда поля. Например, у меня есть юзер:

dn: cn=Lepehin Nikita Alexandrovich,ou=People,dc=uriit,dc=local
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
objectClass: radiusprofile
givenName: Lepehin
sn: Nikita Alexandrovich
cn: Lepehin Nikita Alexandrovich
uid: nlepehin
uidNumber: 1005
homeDirectory: /home/users/nlepehin
loginShell: /bin/bash
radiusTunnelPassword: ***
radiusTunnelPrivateGroupId: 60
radiusTunnelMediumType: 6
radiusTunnelType: 13
userPassword:: e0NSWVBUfUhHZXQySGkuakw5Yk0=
gidNumber: 1007
И я мне необходимо, чтобы поля
radiusTunnelPrivateGroupId: 60
radiusTunnelMediumType: 6
radiusTunnelType: 13
были прописаны в группе. Вот так:
dn: cn=VL60,ou=Groups,dc=uriit,dc=local
objectClass: posixGroup
objectClass: top
objectClass: radiusprofile
gidNumber: 1007
cn: VL60
memberUid: nlepehin
radiusTunnelPrivateGroupId: 60
radiusTunnelMediumType: 6
radiusTunnelType: 13
а пользователь nlepehin, просто добавляясь в группу, наследовал бы их.

niklep
()

FreeRADIUS, OpenLDAP и EAP/PEAP аутентификация

Приветствую. Прошу помощи, ибо совсем сломал мозг следующей задачей:

Необходимо реализовать процедуру аутентификации пользователей при коннекте к беспроводной сети и направление пользователя в указанный в аккаунте VLAN. Wi-Fi точка настроена на обращение к Radius'у, который, в свою очередь, должен запрашивать аккаунты у LDAP'а. Между Радиусом и точкой настроен протокол PEAP для аутентификации, а PEAP, в свою очередь, использует EAP-MSCHAPv2.

НО! На данный момент работает только схема, при которой аккаунт хранится в файле users на Радиусе. А забрать аккаунт с LDAP'а ни в какую не выходит. Выкладываю конфиги

radiusd.conf (не полностью, лишь значимую часть):

proxy_requests  = yes
$INCLUDE proxy.conf
$INCLUDE clients.conf
modules {
$INCLUDE ${confdir}/modules/
$INCLUDE eap.conf
$INCLUDE sql.conf
$INCLUDE sql/mysql/counter.conf
}
$INCLUDE policy.conf
$INCLUDE sites-enabled/

clients.conf:

client localhost {
        ipaddr = 127.0.0.1
        secret = testing123
        require_message_authenticator = no
        nastype = other
}
client 192.168.60.20/32 {
        secret = ***
        shortname = wifi
        nastype = cisco
}

eap.conf:

eap {
        default_eap_type = peap
        timer_expire = 60
        ignore_unknown_eap_types = yes
        cisco_accounting_username_bug = no
        max_sessions = 2048
        tls {
                      certdir = ${confdir}/certs
                      cadir = ${confdir}/certs
                      private_key_file = ${certdir}/newkey.pem
                      certificate_file = ${certdir}/newcert.pem
                      CA_file = ${cadir}/cacert.pem
                      dh_file = ${certdir}/dh
                      random_file = /dev/urandom
                      fragment_size = 1024
                      include_length = yes
                      cipher_list = "DEFAULT"
                      make_cert_command = "${certdir}/bootstrap"
                      cache {
                              enable = no
                      }
          }

        ttls {
                       default_eap_type = peap
                       copy_request_to_tunnel = no
                       use_tunneled_reply = yes
                       virtual_server = "inner-tunnel"
        }

        peap {
                       default_eap_type = mschapv2

                       copy_request_to_tunnel = no
                       use_tunneled_reply = yes
                       proxy_tunneled_request_as_eap = no
                       virtual_server = "inner-tunnel"
        }

        mschapv2 {
                        with_ntdomain_hack = yes
                        use_mppe = no
                        require_encryption = no
                        require_strong = no
                        authtype = MS-CHAPv2
        }
}

ldap.attrmap (также не полностью):

checkItem       Auth-Type                       radiusAuthType
checkItem       LM-Password                     lmPassword
checkItem       NT-Password                     ntPassword
checkItem       LM-Password                     sambaLmPassword
checkItem       NT-Password                     sambaNtPassword
checkItem       LM-Password                     dBCSPwd

#мною прописанные
checkItem       Cleartext-Password              userPassword
replyItem       Tunnel-Type                     radiusTunnelType
replyItem       Tunnel-Medium-Type              radiusTunnelMediumType
replyItem       Tunnel-Private-Group-ID         radiusTunnelPrivateGroupId

proxy.conf:

proxy server {
        default_fallback = no
}

home_server localhost {
        type = auth
        ipaddr = 127.0.0.1
        port = 1812
        secret = testing123
        response_window = 20
        zombie_period = 40
        revive_interval = 120
        status_check = status-server
        check_interval = 30
        num_answers_to_alive = 3
}

users (аутентификация именно для этого юзера работает прекрасно):

vlan50  Cleartext-Password :="***"
        Tunnel-Private-Group-ID = 50,
        Tunnel-Type = "VLAN",
        Tunnel-Medium-Type = "IEEE-802"

sites-enables/default:

authorize {
        auth_log
        mschap
        eap {
              ok = return
        }
        files
        ldap
}

authenticate {
        Auth-Type MS-CHAP {
              mschap
        }
        Auth-Type LDAP {
                ldap
        }
        eap
}

preacct {
        files
}

accounting {
        detail
        sql
        attr_filter.accounting_response
}

session {
        radutmp
}

post-auth {
        exec
        Post-Auth-Type REJECT {
                attr_filter.access_reject
        }
}

pre-proxy {
}

post-proxy {
        eap
}

sites-enables/inner-tunnel:

server inner-tunnel {

listen {
       ipaddr = 127.0.0.1
       port = 18120
       type = auth
}

authorize {
        mschap
        ntdomain
        update control {
               Proxy-To-Realm := LOCAL
        }
        inner-eap {
                ok = return
        }
        files
        ldap
        expiration
        logintime
}

authenticate {
        Auth-Type MS-CHAP {
                mschap
        }
        Auth-Type LDAP {
                ldap
        }
        inner-eap
}

session {
        radutmp
}

post-auth {
        Post-Auth-Type REJECT {
                attr_filter.access_reject
        }
}

pre-proxy {
}

post-proxy {
        inner-eap
}
[\code]

modules/inner-eap:

eap inner-eap {
        default_eap_type = mschapv2
        timer_expire     = 60
        max_sessions = 2048
        mschapv2 {
         with_ntdomain_hack = yes
         use_mppe = no
         require_encryption = no
         require_strong = no
         authtype = MS-CHAPv2
        }

        tls {
                certdir = ${confdir}/certs
                cadir = ${confdir}/certs
                private_key_file = ${certdir}/newkey.pem
                certificate_file = ${certdir}/newcert.pem
                CA_file = ${cadir}/cacert.pem
                dh_file = ${certdir}/dh
                random_file = /dev/urandom
                fragment_size = 1024
                include_length = yes
                cipher_list = "DEFAULT"
        }
}

modules/ldap:

ldap {
        server = "ldap://ldap.uriit.ru"
        identity = "cn=radius,ou=Services,dc=uriit,dc=local"
        password = "***"
        basedn = "ou=People,dc=uriit,dc=local"
        filter = "(&(objectclass=radiusprofile)(uid=%{Stripped-User-Name:-%{User-Name}}))"
        ldap_connections_number = 5
        timeout = 4
        timelimit = 3
        net_timeout = 1
        tls {
                start_tls = yes
                port = 389
                cacertfile              = /etc/openldap/ssl/cacert.pem
                certfile                = /etc/openldap/ssl/newcert.pem
                keyfile                 = /etc/openldap/ssl/newkey.pem
                require_cert    = "allow"
        }
        dictionary_mapping = ${confdir}/ldap.attrmap
        password_attribute = userPassword
        edir_account_policy_check = no
        set_auth_type = no
}

modules/mschap:

mschap {
        use_mppe = no
        require_encryption = no
        require_strong = no
        with_ntdomain_hack = yes
}

Логи в первом комменте.

niklep
()

dhcpcd.conf и fqdn, на примере altlinux

Доброго времени суток. Есть задача: отправить с linux-клиента hostname на DHCP-сервер, поднятый на Windows Server 2003R2. Все это делается для работы DDNS (DNS также на винде). Так вот. Если linux-клиент использует dhclient (например, в Ubuntu), то все работает. Надо лишь прописать несколько строчек с конфиге DHCP-клиента dhclient. А вот как настроить linux-клиента, если он использует dhcpcd (AltLinux, например)? В man dhcpcd.conf пишут:

hostname name Sends specified hostname to the DHCP server so it can be regis‐ tered in DNS. If hostname if a FQDN (ie, contains a .) then it will be encoded as such.

fqdn [none | ptr | both] none disables FQDN encoding, ptr just asks the DHCP server to update the PTR record of the host in DNS whereas both also updates the A record. The current hostname or the hostname spec‐ ified using the hostname option must be a FQDN. dhcpcd itself never does any DNS updates. dhcpcd encodes the FQDN hostname as specified in RFC1035.

Я прописал по советам мана в hostname полное доменное имя, а в fqdn пробовал все варианты прописывать. И в любом случае на DHCP-сервере в списках аренды, в поле Name вижу кракозябры. Видимо, проблема в том, что dhcpcd отправляет hostname шифрованным. И если в dhclient ширование отключается определенной опцией в конфиге, то здесь «fqdn none» (в мане написано «none disables FQDN encoding») не помогает. Кто-нибудь сталкивался с подобной задачей? Какие есть у кого идеи?

P.S. Только что заметил, что на DNS создалась запись в обратной зоне. Такая же, с кракозябрами. В прямой зоне нет записи...

niklep
()

Как добавить Primary DNS Suffix к linux-машине?

Приветствую. Есть следующая задача: необходимо настроить динамический DNS. Подробнее: есть 2 DHCP - сервера (основной и резервный, на Server 2003R2), они выдают адреса из разных диапазонов. Необходимо, чтобы клиенты этих DHCP-серверов были всегда доступны по dns-имени. Для этого необходимо, чтобы при смене ip-адреса запись на dns-сервере (также Server 2003R2) автоматически сменилась. Все это легко решается, если клиенты в домене. Но у меня клиенты находятся не в домене.

Думал, проблема решается с помощью раздачи по DHCP опции 15 «DNS Domain Name». Но нет! НЕ работает. В итоге для виндовых машин нашел решение - на каждом клиенте вручную выставлять Primary DNS Suffix (через свойства Моего Компьютера -> Имя -> Изменить -> Дополнительно). А каким образом это сделать для линуксовых машин? Я пока решения не нашел. Прописывать опции search и domain в resolv.conf не помогает. Эти опции сами прописываются, когда DHCP раздает указанную выше опцию. Надо найти что-то еще...

niklep
()

RSS подписка на новые темы