Если вы не понимаете сообщение об ошибке, это означает, что вы ссылаетесь на имя IN
, которое в данный момент недоступно. В вашем фрагменте кода, скорее всего, отсутствует оператор import .
Модуль сокета может не предлагать SO_BINDTODEVICE по причинам переносимости. Если вы абсолютно уверены, что работаете в Linux, который поддерживает его, попробуйте заменить его на числовое значение, равное 25
:
s.setsockopt(socket.SOL_SOCKET, 25, "eth1"+'\0')
Или для Python 3:
s.setsockopt(socket.SOL_SOCKET, 25, str("eth1" + '\0').encode('utf-8'))