AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / 问题

Perguntas[raspberry-pi](unix)

Martin Hope
Vincent
Asked: 2025-02-16 21:27:57 +0800 CST

Meu servidor DNS local não resolve

  • 5

Tenho um laptop no qual estou trabalhando, um roteador baseado em FreshTomato e um Raspberry Pi executando NixOS, no qual instalei o Blocky para tentar usá-lo como meu servidor DNS.

Entretanto, as solicitações do meu laptop não resolvem:

$  curl https://0xerr0r.github.io/blocky
curl: (6) Could not resolve host: 0xerr0r.github.io

As solicitações no Firefox parecem nunca ser concluídas.

Isso é do meu laptop, que captou o IP correto para o servidor DNS, até onde posso ver:

Configurações de rede listando 192.168.1.4 como o servidor DNS

Isto também é do meu laptop:

$ dig @192.168.1.4 https://0xerr0r.github.io
;; communications error to 192.168.1.4#53: timed out
;; communications error to 192.168.1.4#53: timed out
;; communications error to 192.168.1.4#53: timed out

; <<>> DiG 9.18.30 <<>> @192.168.1.4 https://0xerr0r.github.io
; (1 server found)
;; global options: +cmd
;; no servers could be reached

Entretanto, executando o mesmo a partir do próprio Pi (via SSH):

$ nix-shell --packages dig --run "dig @192.168.1.4 https://0xerr0r.github.io"
; <<>> DiG 9.18.28 <<>> @192.168.1.4 https://0xerr0r.github.io
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31507
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
;; QUESTION SECTION:
;https://0xerr0r.github.io. IN  A

;; ANSWER SECTION:
https://0xerr0r.github.io. 3600 IN  A   185.199.109.153
https://0xerr0r.github.io. 3600 IN  A   185.199.108.153
https://0xerr0r.github.io. 3600 IN  A   185.199.111.153
https://0xerr0r.github.io. 3600 IN  A   185.199.110.153

;; Query time: 335 msec
;; SERVER: 192.168.1.4#53(192.168.1.4) (UDP)
;; WHEN: Sun Feb 16 13:44:31 CET 2025
;; MSG SIZE  rcvd: 118

Estas são minhas configurações do Blocky:

    settings = {
      ports.dns = 53; # Port for incoming DNS Queries.
      ports.http = 4000;
      upstreams.groups.default = [
        "https://one.one.one.one/dns-query" # Using Cloudflare's DNS over HTTPS server for resolving queries.
      ];
      # For initially solving DoH/DoT Requests when no system Resolver is available.
      bootstrapDns = {
        upstream = "https://one.one.one.one/dns-query";
        ips = [ "1.1.1.1" "1.0.0.1" ];
      };
      #Enable Blocking of certain domains.
      blocking = {
        denylists = {
          #Adblocking
          ads = ["https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts"];
          #Another filter for blocking adult sites
          adult = ["https://blocklistproject.github.io/Lists/porn.txt"];
          #You can add additional categories
        };
        #Configure what block categories are used
        clientGroupsBlock = {
          default = [ "ads" ];
          kids-ipad = ["ads" "adult"];
        };
      };
    };

Parece também estar funcionando bem:

$  blocky blocking status
[2025-02-16 13:55:27]  INFO blocking enabled

Seguem algumas configurações potencialmente relevantes do meu roteador.

Configurações de "reserva DHCP" do roteador, listando 192.168.1.4 ao lado do endereço Mac do meu Pi.

Configurando o servidor DNS para esse endereço IP:

Configurações do roteador: servidor DNS "manual", DNS 1 "192.168.1.4", DNS 2 "0.0.0.0" (preenchido automaticamente pelo FreshTomato após deixá-lo sem definição)

Achei que isso seria suficiente, mas também tive que adicionar esta configuração do dnsmasq para que meu laptop realmente captasse o servidor DNS:

Configuração personalizada do Dnsmasq: dhcp-option=6,192.168.1.4

Alguém tem alguma ideia do que pode estar errado? Obrigado antecipadamente!

raspberry-pi
  • 1 respostas
  • 36 Views
Martin Hope
Darrion Ramos
Asked: 2024-06-28 11:30:35 +0800 CST

Especificação de ponto flutuante de compilação cruzada Pi Zero

  • 6

Estou tentando compilar um projeto go (syzkaller) para direcionar um Pi Zero para que ele possa emular dispositivos USB. O problema é que não consegui encontrar informações sobre como especificar o sinalizador de ponto flutuante adequado para garantir a compatibilidade com o Pi Zero. Tudo o que tentei resultou na VMOVinstrução assembly no arquivo binário e lançando uma instrução ilegal. Minha máquina host está em x86_64execução go1.21.4e o pi zero está em arm6lexecução go1.21.4. Ao compilar cruzadamente estou usando GOOS=linux GOARCH=arm GOARM=5. O makefile que estou usando pode ser encontrado aqui: https://github.com/google/syzkaller/blob/master/Makefile (estou compilando o binário execprog). Pela minha pesquisa, GOARM=5deveria estar forçando operações de ponto flutuante de software, mas as fontes de informação estão muito desatualizadas. Também tentei compilar para armv5 sem sucesso. Eu também posso estar usando o sinalizador incorretamente, pois não estou muito familiarizado com o GO. Abaixo estão os argumentos de compilação exatos para o binário. Qualquer conselho é apreciado, obrigado.

Must remake target 'execprog'.
GOOS=linux GOARCH=arm go build "-ldflags=-s -w -X github.com/google/syzkaller/prog.\
GitRevision=121701b62358a454bbfdccfadfcce9bb843602d6+ -X 'github.com/google/syzkaller\
/prog.gitRevisionDate=20240605-134717'" "-tags=syz_target syz_os_linux syz_arch_armv6\
 GOARM=5" -o ./bin/linux_arm/syz-execprog github.com/google/syzkaller/tools/syz-execprog
raspberry-pi
  • 1 respostas
  • 21 Views
Martin Hope
nammerkage
Asked: 2024-05-28 22:14:19 +0800 CST

Raspbery (instalação do Ubuntu) executando o servidor UI do servidor - como acessar?

  • 8

Eu tenho uma torta Raspbery instalada com o servidor Ubuntu, rodando Prefect . Quando uso meu PC pessoal, posso fazer com que o Prefect execute e inicialize um servidor de UI:

>>> prefect server start
Check out the dashboard at http://127.0.0.1:4200

com meu PC pessoal executando este código, posso acessar este site da UI.

Enviei este código funcional para meu Raspberry Pie, que posso acessar via SSH ( ) e iniciar o código. Quando executo o código via SSH, recebo:SSH [email protected]

>>> prefect server start
Check out the dashboard at http://127.0.0.1:4200

Mas agora não tenho certeza de como acessar este site da UI no meu PC pessoal. Alguma ideia? Procurei ajuda, mas até agora não tive sorte com as dicas que li.

raspberry-pi
  • 5 respostas
  • 86 Views
Martin Hope
zahntheo
Asked: 2024-04-16 20:27:34 +0800 CST

Canalizando som ao vivo do Raspberry Pi para o macOS

  • 8

Quero transmitir e reproduzir ao vivo o som gravado no meu Raspberry no meu MacBook. Eu tentei o seguinte:

Na minha framboesa:

Tentei estabelecer um fluxo de dados em uma porta 3333

arecord -D plughw:3,0 -f S16_LE 44100 -t raw | nc -l -p 3333

No meu MacBook:

nc 10.10.1.1 3333 | play -t raw -b 16 -e signed-integer -r 44100 -c 1 -V1 -

Com isso não consigo ouvir nada no meu Mac, mas recebo esta saída no terminal:

-: (cru)

Tamanho do arquivo: 0 Codificação: Canais PCM assinados: 1 a 16 bits Taxa de amostragem: 44100 Hz Replaygain: desativado Duração: desconhecido

Entrada:0,00% 00:00:00,00 [00:00:00,00] Saída:0 [ | ] Clipe:0 Concluído.

raspberry-pi
  • 1 respostas
  • 123 Views
Martin Hope
theking2
Asked: 2024-02-15 04:20:50 +0800 CST

Agendador ideal para um raspberrypi executando apenas dnsmasq

  • 5

Quais seriam as configurações ideais do agendador para um RaspberryPi2 rodando como um servidor somente DHCP/DNS (dnsmasq). Como minimizar o desgaste do cartão SD?

raspberry-pi
  • 1 respostas
  • 24 Views
Martin Hope
AngryHacker
Asked: 2023-11-03 02:05:35 +0800 CST

Como ver todas as tarefas de inicialização na linha de comando?

  • 5

Eu estava tentando descobrir por que um determinado aplicativo foi executado no meu Raspberry Pi e descobri que há meia dúzia de maneiras de executar um aplicativo na inicialização. Aqui estão os que localizei.

  • /etc/rc.local
  • /home/pi/.bashrc
  • copiando um script para /etc/init.d/
  • sistemactl
  • agendar via crontab

Existe uma maneira de identificar, na linha de comando, tudo o que é executado (ou está programado para ser executado) na inicialização?

raspberry-pi
  • 1 respostas
  • 29 Views
Martin Hope
bomben
Asked: 2023-10-11 21:02:07 +0800 CST

Posso executar PIVPN com Wireguard sem MASQUERADING?

  • 6

Ao instalar pivpnno Raspberry Pi ele criará uma regra de iptables:

pi@RPi64:~ $ sudo iptables -L -t nat                                                                                                      
Chain PREROUTING (policy ACCEPT)                                                                                                                                                                                                             
target     prot opt source               destination                                                                                                                                                                                                                                                                                                                                                                                                                                      

Chain INPUT (policy ACCEPT)                                                                                                                                                                                                                  
target     prot opt source               destination                                                                                                                                                                                                                                                                                                                                                                                                                                      

Chain OUTPUT (policy ACCEPT)                                                                                                                                                                                                                 
target     prot opt source               destination                                                                                                                                                                                                                                                                                                                                                                                                                                      

Chain POSTROUTING (policy ACCEPT)                                                                                                                                                                                                            
target     prot opt source               destination                                                                                                                                                                                         
MASQUERADE  all  --  10.122.242.0/24      anywhere             /* wireguard-nat-rule */    

Acho que faz isso inserindo a regra via iptables-persistant:

pi@RPi64:~ $ cat /etc/iptables/rules.v4                                                                                                                                                                                                      
# Generated by iptables-save v1.8.7 on Fri Aug 12 08:07:21 2022                                                                                                                                                                              
*nat                                                                                                                                                                                                                                         
:PREROUTING ACCEPT [0:0]                                                                                                                                                                                                                     
:INPUT ACCEPT [0:0]                                                                                                                                                                                                                          
:OUTPUT ACCEPT [0:0]                                                                                                                                                                                                                         
:POSTROUTING ACCEPT [0:0]                                                                                                                                                                                                                    
-A POSTROUTING -s 10.122.242.0/24 -o eth0 -m comment --comment wireguard-nat-rule -j MASQUERADE                                                                                                                                              
COMMIT                                                                                                                                                                                                                                       
# Completed on Fri Aug 12 08:07:21 2022 

Isso está no lado do servidor, é claro. Se eu quiser me conectar totalmente de um cliente a este servidor, preciso adicionar mascaramento no cliente inserindo uma regra semelhante no cliente:

pi@schwarz:~ $ sudo iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  anywhere             anywhere

Eu faço assim:

pi@schwarz:~ $ sudo cat /etc/wireguard/schwarz.conf                                                                         
[Interface]                                                                                                             
PrivateKey = 
Address = 10.122.242.4/24                                                                                                
PostUp = iptables -t nat -A POSTROUTING -o schwarz -j MASQUERADE                                                        
PreDown = iptables -t nat -D POSTROUTING -o schwarz -j MASQUERADE                                                      
DNS = 9.9.9.9, 149.112.112.112                                                                                                                                                                                                                  
[Peer]                                                                                                                    
...

Em seguida, adiciono rotas estáticas em ambos os roteadores, para que o tráfego para a respectiva LAN seja roteado para o servidor wireguard ou para o cliente de outros clientes nessas LANs.

Dessa forma, posso me conectar totalmente a todos os dispositivos nas duas LANs de qualquer cliente nas duas LANs.

O problema com esta abordagem é que os clientes perdem o IP original da LAN original e, em vez disso, aparecem na outra rede com o IP do cliente wireguard (mais uma porta). É claro que isso se deve ao NAT (mascaramento).

Tudo funciona bem desta forma.

Exceto um serviço: Logitechmediaserver. Este servidor não consegue lidar com todos os clientes que vêm de uma LAN remota porque agora eles têm o mesmo IP. Para ser mais específico, o problema são apenas alguns clientes Logitech (Rádio). Os clientes se conectam bem no servidor, mas não veem o servidor respondendo. Outros clientes (Boom) conectam-se bem. Eles usam um protocolo diferente.

Isso me fez pensar por que pivpnestá mascarando os IPs. Não deveria ser suficiente ter rotas estáticas das LANs para o cliente/servidor e desses clientes/servidor para os túneis que eles criam?

Por que o mascaramento? Isso é feito para o caso do servidor Wireguard atuar também como roteador ISP para a internet? Este não é o caso aqui. O roteador está sempre em uma máquina diferente.

Para encurtar a história, eu queria saber se seria possível, em geral, remover o mascaramento com pivpn. Além disso, talvez alguém possa apontar para um erro que tenho na minha configuração.

raspberry-pi
  • 1 respostas
  • 37 Views
Martin Hope
Steve Cohen
Asked: 2023-10-01 01:55:59 +0800 CST

Problemas com domínios .local

  • 5

Sei por pesquisas que domínios .local são considerados uma péssima ideia.

E, no entanto, estou tentando usar dois aplicativos de astronomia diferentes projetados para serem executados em um Raspberry Pi, para os quais as instruções declaradas dizem que é necessário conectar-se ao sistema em execução no Pi por meio de um endereço .local. O objetivo dessas aplicações é controlar remotamente um telescópio e equipamentos associados, em última análise, com a visualização do objeto astronômico apontado sem olhar através das oculares. Não sei por que os desenvolvedores desses sistemas escolheriam esse método de conexão. Só estou tentando lidar com isso.

As instruções para ambos dizem que você deve apontar seu computador para o hotspot WiFi do sistema rodando no Pi (ambos os sistemas possuem um hotspot) e então acessá-lo a partir do computador principal por meio de um arquivo . . . .Endereço local. Isso funciona em ambos os sistemas (posso alternar entre sistemas trocando o cartão microSD). Curiosamente, em um sistema, descobri que posso me conectar a ele, quer tenha apontado meu computador para o Pi Hotspot ou não. Por outro lado, só consigo me conectar quando apontei o computador para o hotspot.

Estou apenas tentando entender como tudo isso funciona, principalmente, como em um caso consigo acessar o endereço .local sem me conectar ao hotspot, enquanto no outro sistema isso não é possível.

Eu ficaria grato por qualquer ajuda para entender tudo isso.

raspberry-pi
  • 1 respostas
  • 29 Views
Martin Hope
Mark
Asked: 2023-09-06 01:49:34 +0800 CST

Mantenha a tela ligada

  • 6

Buildroot para RPi3 B+ sem servidor X (somente console). Monitor conectado em HDMI. Quero manter o monitor ligado.

Após 10 minutos (se não me engano) sem atividade no teclado, a tela é desligada. Das minhas anotações antigas fiz o seguinte:

echo -ne "\033[9;0]" >> /etc/issue

mas não funciona. Encontro muitos conselhos, mas apenas para X.

raspberry-pi
  • 2 respostas
  • 19 Views
Martin Hope
Marius
Asked: 2023-08-02 19:46:35 +0800 CST

Wireguard não funciona quando eth0 está ativo

  • 5

Configurar

  • Roteador como servidor Wireguard na minha rede
  • Raspberry Pi
    • SO: Raspbian Buster
    • conectado a um hotspot móvel via wi-fi (interface wlan0)
    • et0 definido como IP estático para controlar um dispositivo com IP estático diretamente, sem switch ou roteador
    • wg0 configurado para conectar ao servidor no meu roteador

Problema

A conexão wireguard só funciona se eu desabilitar eth0 com ifconfig eth0 down.

O que eu quero fazer:

Preciso atualizar e testar a atualização de um software no Pi. O software usa o dispositivo conectado na eth0, então preciso dessa eth0 ativa.

O que eu tentei

Nada, além do google, mas não consegui encontrar nada para o meu problema específico.

Suspeito que precise mudar a tabela de roteamento, mas não tenho certeza de quem e não quero interromper a conexão wi-fi.

Configuração do Wireguard no Pi

[Interface]
PrivateKey = myPrivateKey
Address = 192.168.180.201/24
DNS = 192.168.180.1
DNS = fritz.box

[Peer]
PublicKey = myPublicKey
PresharedKey = Key
AllowedIPs = 192.168.180.0/24,0.0.0.0/0
Endpoint = myfritzdomain:59047
PersistentKeepalive = 25

configuração eth0 de /etch/dhcpcd.conf

# A sample configuration for dhcpcd.
# See dhcpcd.conf(5) for details.

# Allow users of this group to interact with dhcpcd via the control socket.
#controlgroup wheel

# Inform the DHCP server of our hostname for DDNS.
hostname

# Use the hardware address of the interface for the Client ID.
clientid
# or
# Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361.
# Some non-RFC compliant DHCP servers do not reply with this set.
# In this case, comment out duid and enable clientid above.
#duid

# Persist interface configuration when dhcpcd exits.
persistent

# Rapid commit support.
# Safe to enable by default because it requires the equivalent option set
# on the server to actually work.
option rapid_commit

# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Respect the network MTU. This is applied to DHCP routes.
option interface_mtu

# Most distributions have NTP support.
#option ntp_servers

# A ServerID is required by RFC2131.
require dhcp_server_identifier

# Generate SLAAC address using the Hardware Address of the interface
#slaac hwaddr
# OR generate Stable Private IPv6 Addresses based from the DUID
slaac private

interface eth0
static ip_address=192.168.1.45/16
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

raspberry-pi
  • 1 respostas
  • 21 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve