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 / server / 问题

All perguntas(server)

Martin Hope
elementmg
Asked: 2024-08-23 06:51:51 +0800 CST

Configuração para fazer com que o servidor web use certificados montados na implantação do kubernetes

  • 5
Esta pergunta foi migrada do Stack Overflow porque pode ser respondida no Server Fault. Migrada há 23 horas .

Quero que meu aplicativo seja executado em um cluster Kubernetes e use o certificado montado em um volume definido no meu arquivo deployment.yaml.

Não estou usando o ingress, em vez disso, configurei meu serviço como um LoadBalancer. Não consigo descobrir como fazer esse serviço lidar com a terminação tls. Então, segui o outro caminho, onde devo montar e usar o certificado dentro do pod.

Eu montei um segredo que contém as informações do certificado dentro do arquivo deployment.yaml dos aplicativos. O pod está instalado e funcionando e encontrou esse segredo com sucesso. O único problema é que o servidor web não está configurado para usar o certificado, então meu site não está disponível. Como posso configurar o servidor web para usar o certificado? Ele pode ser definido dentro do comando no arquivo docker?

O servidor web está em execução: npm run preview

Verificando o arquivo package.json, isto é: "preview": "vite preview"

Posso configurar o vite para usar certificados armazenados dentro do contêiner do kubernetes? É possível definir isso no meu dockerfile?

seção de implantação que montou o certificado

          volumeMounts:
            - name: cert-volume
              mountPath: "/etc/ssl/certs"
              readOnly: true
      volumes:
        - name: cert-volume
          secret:
            secretName: my-secret

Verifiquei online e não vejo muita maneira de fazer meu servidor web npm usar esse certificado para terminação TLS. Suspeito de algo que eu possa adicionar ao package.json ou diretamente no dockerfile para apontar para esse diretório dentro do meu contêiner kubernetes.

Alguém tem alguma configuração semelhante ou experiência fazendo isso?

docker
  • 2 respostas
  • 10 Views
Martin Hope
Bender Rodriguez
Asked: 2024-08-07 07:55:05 +0800 CST

Reiniciando um contêiner do Google Cloud COS diariamente

  • 5
Esta pergunta foi migrada do Stack Overflow porque pode ser respondida no Server Fault. Migrada há 37 minutos .

Estou implantando um contêiner em uma instância COS (Container OS). Muito simples.

Quero que ele reinicie diariamente. Qual é a melhor maneira de fazer isso? Uma simples aba CRON que eu poderia configurar na VM? O problema com isso é que precisará ser refeito sempre que a VM for reimplantada.

google-cloud-platform
  • 2 respostas
  • 5 Views
Martin Hope
piyush sachdeva
Asked: 2024-08-01 11:15:27 +0800 CST

Kubernetes no aws ec2 - certificado de registro privado assinado por autoridade desconhecida

  • 5
Esta pergunta foi migrada do Stack Overflow porque pode ser respondida no Server Fault. Migrada há 38 minutos .

Resumo da questão

Tenho um cluster Kubernetes 1.30 em execução em 3 servidores AWS EC2, 1 nó mestre e 2 nós de trabalho. Estou tentando implantar um registro de contêiner privado usando a registry:2.8.2imagem do projeto de distribuição CNCF. Segui as etapas listadas abaixo, mas estou recebendo o erro "certificado x509 assinado por autoridade desconhecida" enquanto tento executar um login docker no registro.

Observação: estou usando certificados autoassinados.

Passos para reproduzir

  1. Crie certificados autoassinados e autenticação de usuário. Os certificados TLS usam OpenSSL:

    mkdir registry
    cd registry
    mkdir certs
    mkdir auth
    
    openssl req -x509 -newkey rsa:4096 -days 365 -nodes -sha256 -keyout certs/tls.key -out certs/tls.crt -subj "/CN=my-registry" -addext "subjectAltName = DNS:my-registry"
    
  2. Use htpasswdpara adicionar autenticação de usuário para acesso ao registro. As credenciais para o registro privado são myuser/mypasswd:

    docker run --entrypoint htpasswd httpd:2 -Bbn myuser mypasswd > auth/htpasswd
    
  3. Crie um segredo para montar os certificados (tipo secreto tls):

    kubectl create secret tls certs-secret --cert=/home/ubuntu/day42/registry/certs/tls.crt --key=/home/ubuntu/day42/registry/certs/tls.key
    
  4. Crie um segredo para autenticação:

    kubectl create secret generic auth-secret --from-file=/home/ubuntu/day42/registry/auth/htpasswd
    
  5. Crie o diretório local e aplique o PV PVC.

  6. Crie o pod de registro.

apiVersion: v1
kind: Pod
metadata:
  name: docker-registry-pod
  labels:
    app: registry
spec:
  containers:
  - name: registry
    image: registry:2.8.2
    volumeMounts:
    - name: repo-vol
      mountPath: "/var/lib/registry"
    - name: certs-vol
      mountPath: "/certs"
      readOnly: true
    - name: auth-vol
      mountPath: "/auth"
      readOnly: true
    env:
    - name: REGISTRY_AUTH
      value: "htpasswd"
    - name: REGISTRY_AUTH_HTPASSWD_REALM
      value: "Registry Realm"
    - name: REGISTRY_AUTH_HTPASSWD_PATH
      value: "/auth/htpasswd"
    - name: REGISTRY_HTTP_TLS_CERTIFICATE
      value: "/certs/tls.crt"
    - name: REGISTRY_HTTP_TLS_KEY
      value: "/certs/tls.key"
  volumes:
  - name: repo-vol
    persistentVolumeClaim:
      claimName: registry-pvc
  - name: certs-vol
    secret:
      secretName: certs-secret
  - name: auth-vol
    secret:
      secretName: auth-secret
  1. Crie o pod de serviço.

  2. Exporte as variáveis ​​de ambiente:

    export REGISTRY_NAME="my-registry"
    Master-->export REGISTRY_IP="10.100.175.12"
    # (Above IP is the NodePort service IP)
    
  3. Adicione a entrada abaixo a /etc/hoststodos os nós:

    10.100.175.12 my-registry
    
  4. Copie tls.crtpara /usr/local/share/ca-certificatestodos os nós e execute o seguinte comando:

    sudo update-ca-certificates 
    
  5. Tente fazer login no registro:

    docker login my-registry:5000 -u myuser -p mypasswd
    

Detalhes do erro

Error response from daemon: Get "https://my-registry:5000/v2/": tls: failed to verify certificate: x509: certificate signed by unknown authority

Saída decrictl info

crictl info |grep -i tls
    "enableTLSStreaming": false,
      "tlsCertFile": "",
      "tlsKeyFile": ""
docker
  • 2 respostas
  • 4 Views
Martin Hope
Josh Marcus
Asked: 2024-07-10 13:50:43 +0800 CST

Não é possível acionar logs de auditoria de execução a seco para a política de limpeza do Google Cloud Artifact Registry

  • 5
Esta pergunta foi migrada do Stack Overflow porque pode ser respondida no Server Fault. Migrada há 39 minutos .

Seguindo os documentos disponíveis do GCP aqui: https://cloud.google.com/artifact-registry/docs/repositories/cleanup-policy

Configurei a política de limpeza no meu repositório de artefatos com a opção de execução a seco habilitada, mas não consegui gerar nenhum log de auditoria usando o comando.

gcloud logging read 'protoPayload.serviceName="artifactregistry.googleapis.com" AND protoPayload.request.parent:"projects/gift-service-app-jm/locations/australia-southeast1/repositories/gcf-artifacts" AND protoPayload.request.validateOnly=true' \
    --resource-names="projects/gift-service-app-jm" \
    --project=gift-service-app-jm

Consegui confirmar que a política foi definida e a opção de execução a seco está habilitada usando o gcloud artifacts repositories describe gcf-artifactscomando

{
  "cleanupPolicies": {
    "Delete Previous Versions": {
      "action": "DELETE",
      "condition": {
        "olderThan": "864000s",
        "tagState": "UNTAGGED"
      },
      "id": "Delete Previous Versions"
    }
  },
  "cleanupPolicyDryRun": true,
  "createTime": "2023-09-27T05:07:31.256470Z",
  "description": "This repository is created and used by Cloud Functions",
  "format": "DOCKER",
  "labels": {
    "goog-managed-by": "cloudfunctions"
  },
  "mode": "STANDARD_REPOSITORY",
  "name": "projects/gift-service-app-jm/locations/australia-southeast1/repositories/gcf-artifacts",
  "updateTime": "2024-07-10T05:39:56.088672Z"
}

Alguém já teve esse problema antes? Eu apliquei a função de proprietário ao meu principal do IAM, mas também tentei adicionar as funções de visualizador de logs e visualizador de logs privados explicitamente.

google-cloud-platform
  • 1 respostas
  • 3 Views
Martin Hope
QF0
Asked: 2024-09-04 01:57:24 +0800 CST

ssh-keygen não está lendo stdin para obter uma senha criptografada (ou: o que é ssh-askpass?)

  • 5

Estou automatizando a geração de chaves com ssh-keygen(OpenSSH v8.9), em um servidor headless. Isso é direto se nenhuma senha for necessária, mas fica difícil se você precisar de uma senha. ssh-keygenprecisa de 3 coisas no stdin ao gerar uma nova chave: y, porque o arquivo de chaves já existe, e a senha necessária, repetida duas vezes.

Com alguma simplificação, estou fazendo isso da seguinte maneira:

$ printf -v input "y\npassword\npassword\n"
$ echo -n "$input"
y
password
password
$ echo -n "$input" | ssh-keygen -t ed25519 -a100 -f tmpkey

Quando fiz isso inicialmente, obtive esta saída:

Generating public/private ed25519 key pair.
tmpkey already exists.
Overwrite (y/n)? ssh_askpass: exec(/usr/bin/ssh-askpass): No such file or directory

O par de chaves foi criado, mas a chave privada não foi criptografada. Então, eu instalei ssh-askpass, em um sistema de teste com X. Quando eu executo ssh-keygenagora, eu recebo um pop-up de autenticação OpenSSH, e stdin agora é ignorado. Obviamente, eu não posso ter um pop-up gráfico em um servidor headless, mesmo se eu quisesse.

Então o que está acontecendo? Posso persuadir ssh-keygena automatizar a entrada de senha? Se não, posso usar opensslpara adicionar uma senha ou até mesmo criar o arquivo? Eu quero obter uma chave de formato OpenSSH disso - já estou automatizando o PKCS#8 com o openssl.

EDITAR

Eu encontrei o SSH_ASKPASS_REQUIREenvvar para ssh(não ssh-keygen). Se eu configurá-lo para 'never', ele para o ssh-askpasspopup, mas ssh-keygenagora lê apenas a primeira linha de stdin e ignora a senha nas próximas duas linhas. Então, não me leva a lugar nenhum.

ssh
  • 2 respostas
  • 59 Views
Martin Hope
Luke Cousins
Asked: 2024-09-03 17:47:28 +0800 CST

Alterne a instalação do Kubernetes cert-manager de manifestos estáticos para helm sem perder os certificados existentes

  • 5

Originalmente instalamos o cert-manager usando manifestos estáticos. Agora precisamos personalizar as configurações (tempo limite do webhook, veja digitalocean/clusterlint#167), então estou pensando que a melhor opção é migrar para uma instalação helm, mas não tenho certeza de como fazer isso da melhor forma e alguma ajuda seria muito apreciada.

Li as instruções de desinstalação , mas não desejo remover certificados ou emissores (cluster/). Posso pular essa etapa de remoção, pois sei que reinstalarei com o Helm momentos depois, ou preciso seguir um processo diferente?

Qualquer ajuda seria incrível. Obrigado 🙏

kubernetes
  • 1 respostas
  • 38 Views
Martin Hope
Thystra
Asked: 2024-09-03 09:40:29 +0800 CST

Não é possível conectar ao servidor Strongswan VPN

  • 6

Estou tentando me conectar ao meu servidor Strongswan VPN, compilado a partir da versão 5.9.14.

Eu o tenho no servidor, e o cliente tenta se conectar, mas o servidor nunca atende a chamada. Eu verifiquei o firewall e ele está configurado para permitir as portas 500 e 4500. Eu também tentei fazer com que ele efetue login com mais detalhes, mas ele não faz isso / ou nenhuma entrada é feita no diário do sistema.

Geralmente, estou perdido e apreciaria qualquer ajuda. Eu tentei com UFW para cima e para baixo - nenhuma mudança.

O servidor é um Ubuntu 24.04.01 LTS.

Comando de compilação:

 ./configure --prefix=/usr --sysconfdir=/etc --disable-defaults --enable-silent-rules      --enable-charon --enable-systemd --enable-ikev2 --enable-vici --enable-swanctl        --enable-nonce --enable-random --enable-drbg --enable-openssl --enable-curl           --enable-pem --enable-x509 --enable-constraints --enable-revocation --enable-pki      --enable-pubkey --enable-socket-default --enable-kernel-netlink --enable-resolve      --enable-eap-identity --enable-eap-md5 --enable-eap-dynamic --enable-eap-tls          --enable-updown --enable-tss-tss2 --enable-tpm
root@huginn:~/strongswan-5.9.14# service strongswan status
● strongswan.service - strongSwan IPsec IKEv1/IKEv2 daemon using swanctl
     Loaded: loaded (/usr/lib/systemd/system/strongswan.service; enabled; preset: enabled)
     Active: active (running) since Mon 2024-09-02 21:06:16 EDT; 10min ago
    Process: 220846 ExecStartPost=/usr/sbin/swanctl --load-all --noprompt (code=exited, status=0/SUCCESS)
   Main PID: 220827 (charon-systemd)
     Status: "charon-systemd running, strongSwan 5.9.14, Linux 6.8.0-41-generic, x86_64"
      Tasks: 17 (limit: 9445)
     Memory: 3.5M (peak: 6.1M)
        CPU: 44ms
     CGroup: /system.slice/strongswan.service
             └─220827 /usr/sbin/charon-systemd

Sep 02 21:06:16 huginn swanctl[220846]: loaded certificate from '/etc/swanctl/x509ca/ca-chain.cert.pem'
Sep 02 21:06:16 huginn swanctl[220846]: loaded private key from '/etc/swanctl/private/vpn.server.org.key.pem'
Sep 02 21:06:16 huginn swanctl[220846]: loaded eap secret 'eap-user'
Sep 02 21:06:16 huginn swanctl[220846]: loaded authority 'Strongswan'
Sep 02 21:06:16 huginn swanctl[220846]: successfully loaded 1 authorities, 0 unloaded
Sep 02 21:06:16 huginn swanctl[220846]: loaded pool 'remote_pool'
Sep 02 21:06:16 huginn swanctl[220846]: successfully loaded 1 pools, 0 unloaded
Sep 02 21:06:16 huginn swanctl[220846]: loaded connection 'roadwarrior'
Sep 02 21:06:16 huginn swanctl[220846]: successfully loaded 1 connections, 0 unloaded
Sep 02 21:06:16 huginn systemd[1]: Started strongswan.service - strongSwan IPsec IKEv1/IKEv2 daemon using swanctl.

registro.conf

charon-systemd {
  journal {
    default = 4
    ike = 4
    knl = 4
    # ...
  }
}

charon {

  # two defined file loggers
  filelog {
    charon {
      # path to the log file, specify this as section name in versions prior to 5.7.0
      path = /var/log/charon.log
      # add a timestamp prefix
      time_format = %b %e %T
      # prepend connection name, simplifies grepping
      ike_name = yes
      # overwrite existing files
      append = yes
      # increase default loglevel for all daemon subsystems
      default = 2
      # flush each line to disk
      flush_line = yes
    }
    stderr {
      # more detailed loglevel for a specific subsystem, overriding the
      # default loglevel.
      ike = 2
      knl = 3
    }
  }

  # and two loggers using syslog
  syslog {
    # prefix for each log message
    identifier = charon-custom
    # use default settings to log to the LOG_DAEMON facility
    daemon {
    }
    # very minimalistic IKE auditing logs to LOG_AUTHPRIV
    auth {
      default = -1
      ike = 0
    }
  }
 # ...
}

conexão.conf

#roadwarrior configuration
authorities {
     Strongswan {
          cacert = ca-chain.cert.pem
     }
}    

  journal {
    default = 4  
    ike = 4
    knl = 4
    # ...
  }


  connections {
    roadwarrior {
      pools = rw_pool
      local {
        auth = pubkey
          certs = vpn.server.org.cert.pem
          id = vpn.server.org
        }
      remote {
        auth = pubkey
      }
      children {
        roadwarrior {
#          local_ts  = 10.1.0.0/16
#          local_ts = 0.0.0.0/0
           local_ts = 0.0.0.0/0, ::/0
           rekey_time = 0
        }
      }
    }
  }


  }

log do cliente (ubuntu desktop 24.04)

2024-09-02T19:32:04.323589-06:00 fafnir charon-nm: 05[ENC] generating IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) ]
2024-09-02T19:32:04.323634-06:00 fafnir charon-nm: 05[NET] sending packet: from 192.168.30.50[46858] to 167.71.166.210[500] (972 bytes)
2024-09-02T19:32:08.324281-06:00 fafnir charon-nm: 12[IKE] retransmit 1 of request with message ID 0
2024-09-02T19:32:08.324342-06:00 fafnir charon-nm: 12[NET] sending packet: from 192.168.30.50[46858] to <server ip>[500] (972 bytes)
2024-09-02T19:32:15.524583-06:00 fafnir charon-nm: 14[IKE] retransmit 2 of request with message ID 0
2024-09-02T19:32:15.524692-06:00 fafnir charon-nm: 14[NET] sending packet: from 192.168.30.50[46858] to <server ip>[500] (972 bytes)
2024-09-02T19:32:28.485020-06:00 fafnir charon-nm: 09[IKE] retransmit 3 of request with message ID 0
2024-09-02T19:32:28.485079-06:00 fafnir charon-nm: 09[NET] sending packet: from 192.168.30.50[46858] to <server ip>[500] (972 bytes)
2024-09-02T19:32:51.813298-06:00 fafnir charon-nm: 15[IKE] retransmit 4 of request with message ID 0
2024-09-02T19:32:51.813448-06:00 fafnir charon-nm: 15[NET] sending packet: from 192.168.30.50[46858] to <server ip>[500] (972 bytes)
2024-09-02T19:33:04.247159-06:00 fafnir charon-nm[70214]: Connect timer expired, disconnecting.
2024-09-02T19:33:04.247220-06:00 fafnir charon-nm: 08[IKE] destroying IKE_SA in state CONNECTING without notification
2024-09-02T19:33:04.247899-06:00 fafnir charon-nm: 07[KNL] interface nm-xfrm-2751540 deactivated
2024-09-02T19:33:04.248785-06:00 fafnir charon-nm: 13[KNL] fe80::bddd:f33c:78f:5cd9 disappeared from nm-xfrm-2751540

Atualização de 4 de setembro.

Meu cliente está se conectando via Starlink, que eu entendo que teve problemas com IPV4, então eu o reconfigurei para IPv6 com base na configuração do Strongswan Test labs para IPv6 roadwarrior. Então eu executei um TCPDUMP enquanto tentava conectar, o que, do servidor, resultou nisso:

02:42:11.805109 IP6 (flowlabel 0x064f8, hlim 53, next-header UDP (17) payload length: 248) client-ipv6-address.55059 > server-ipv6-address.500: [udp sum ok] isakmp 2.0 msgid 00000000: parent_sa ikev2_init[I]:
    (sa: len=44
        (p: #1 protoid=isakmp transform=4 len=44
            (t: #1 type=encr id=aes (type=keylen value=0080))
            (t: #2 type=integ id=#12 )
            (t: #3 type=prf id=#5 )
            (t: #4 type=dh id=#31 )))
    (v2ke: len=32 group=#31)
    (nonce: len=32 data=(37b6ff2309f8d07e5532...0000402f00020003000400050000000800004016))
    (n: prot_id=#0 type=16388(nat_detection_source_ip))
    (n: prot_id=#0 type=16389(nat_detection_destination_ip))
    (n: prot_id=#0 type=16430(status))
    (n: prot_id=#0 type=16431(status))
    (n: prot_id=#0 type=16406(status))
02:42:15.803606 IP6 (flowlabel 0x064f8, hlim 53, next-header UDP (17) payload length: 248) client-ipv6-address.55059 > server-ipv6-address.500: [udp sum ok] isakmp 2.0 msgid 00000000: parent_sa ikev2_init[I]:
    (sa: len=44
        (p: #1 protoid=isakmp transform=4 len=44
            (t: #1 type=encr id=aes (type=keylen value=0080))
            (t: #2 type=integ id=#12 )
            (t: #3 type=prf id=#5 )
            (t: #4 type=dh id=#31 )))
    (v2ke: len=32 group=#31)
    (nonce: len=32 data=(37b6ff2309f8d07e5532...0000402f00020003000400050000000800004016))
    (n: prot_id=#0 type=16388(nat_detection_source_ip))
    (n: prot_id=#0 type=16389(nat_detection_destination_ip))
    (n: prot_id=#0 type=16430(status))
    (n: prot_id=#0 type=16431(status))
    (n: prot_id=#0 type=16406(status))
02:42:23.008293 IP6 (flowlabel 0x064f8, hlim 53, next-header UDP (17) payload length: 248) client-ipv6-address.55059 > server-ipv6-address.500: [udp sum ok] isakmp 2.0 msgid 00000000: parent_sa ikev2_init[I]:
    (sa: len=44
        (p: #1 protoid=isakmp transform=4 len=44
            (t: #1 type=encr id=aes (type=keylen value=0080))
            (t: #2 type=integ id=#12 )
            (t: #3 type=prf id=#5 )
            (t: #4 type=dh id=#31 )))
    (v2ke: len=32 group=#31)
    (nonce: len=32 data=(37b6ff2309f8d07e5532...0000402f00020003000400050000000800004016))
    (n: prot_id=#0 type=16388(nat_detection_source_ip))
    (n: prot_id=#0 type=16389(nat_detection_destination_ip))
    (n: prot_id=#0 type=16430(status))
    (n: prot_id=#0 type=16431(status))
    (n: prot_id=#0 type=16406(status))
02:42:35.966303 IP6 (flowlabel 0x064f8, hlim 53, next-header UDP (17) payload length: 248) client-ipv6-address.55059 > server-ipv6-address.500: [udp sum ok] isakmp 2.0 msgid 00000000: parent_sa ikev2_init[I]:
    (sa: len=44
        (p: #1 protoid=isakmp transform=4 len=44
            (t: #1 type=encr id=aes (type=keylen value=0080))
            (t: #2 type=integ id=#12 )
            (t: #3 type=prf id=#5 )
            (t: #4 type=dh id=#31 )))
    (v2ke: len=32 group=#31)
    (nonce: len=32 data=(37b6ff2309f8d07e5532...0000402f00020003000400050000000800004016))
    (n: prot_id=#0 type=16388(nat_detection_source_ip))
    (n: prot_id=#0 type=16389(nat_detection_destination_ip))
    (n: prot_id=#0 type=16430(status))
    (n: prot_id=#0 type=16431(status))
    (n: prot_id=#0 type=16406(status))
02:42:59.299393 IP6 (flowlabel 0x064f8, hlim 53, next-header UDP (17) payload length: 248) client-ipv6-address.55059 > server-ipv6-address.500: [udp sum ok] isakmp 2.0 msgid 00000000: parent_sa ikev2_init[I]:
    (sa: len=44
        (p: #1 protoid=isakmp transform=4 len=44
            (t: #1 type=encr id=aes (type=keylen value=0080))
            (t: #2 type=integ id=#12 )
            (t: #3 type=prf id=#5 )
            (t: #4 type=dh id=#31 )))
    (v2ke: len=32 group=#31)
    (nonce: len=32 data=(37b6ff2309f8d07e5532...0000402f00020003000400050000000800004016))
    (n: prot_id=#0 type=16388(nat_detection_source_ip))
    (n: prot_id=#0 type=16389(nat_detection_destination_ip))
    (n: prot_id=#0 type=16430(status))
    (n: prot_id=#0 type=16431

Não recebo nada no syslog para o IP do cliente ou para conexões IKEV2.

Atualização de 4 de setembro - saída ps -ef

UID          PID    PPID  C STIME TTY          TIME CMD
root        1020       1  0 03:03 ?        00:00:00 /usr/sbin/charon-systemd

ubuntu
  • 1 respostas
  • 120 Views
Martin Hope
Shah Alom
Asked: 2024-09-03 08:42:32 +0800 CST

Como modificar o arquivo /etc/hosts para o domínio raiz em um servidor VPS?

  • 5

Estou no processo de alterar o DNS reverso de um VPS. O VPS está mostrando um subdomínio ( vmi000.contaboserver.net) como o nome do host, quero usar meu próprio domínio de rótulo raiz como o nome do host. Considere o script de exemplo de /etc/hostsem um servidor VPS -

127.0.0.1       localhost
127.0.1.1       vmi000.contaboserver.net vmi000

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff99::1 ip6-allnodes
ff99::2 ip6-allrouters
46.250.333.33    vmi000.contaboserver.net vmi000

Quero atualizar o nome do host como um dos meus nomes de domínio (como: example.com). Há algo errado no script abaixo?

127.0.0.1       localhost
127.0.1.1       example.com

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff99::1 ip6-allnodes
ff99::2 ip6-allrouters
46.250.333.33    example.com

JFYI: Também atualizei o conteúdo de /etc/hostnamecom example.com.

linux
  • 1 respostas
  • 40 Views
Martin Hope
Crazy Polenta
Asked: 2024-09-03 01:21:09 +0800 CST

usando várias tabelas para rotear ips de DOIS ISPs

  • 5

Preciso configurar meu roteador (Ubuntu Server 24/ NNFTables) para que os computadores conectados às interfaces lan1 e lan2 possam navegar na internet usando as interfaces wan1 ou wan2, dependendo do IP da sub-rede.

Recebo internet através de 2 provedores diferentes.

ISP 1: Bloco ip: 111.11.111.0/28

ISP 2: Bloco ip: 222.22.222.8/29

configurar netplan yaml:

rede:
    ethernet:
        wan1:
            endereços:
            - 111.11.111.2/28
            - 111.11.111.3/28
            - 111.11.111.4/28
            - 111.11.111.5/28
            - 111.11.111.6/28
            - 111.11.111.7/28
            - 111.11.111.8/28
            - 111.11.111.9/28
            - 111.11.111.10/28
            - 111.11.111.11/28
            - 111.11.111.12/28
            - 111.11.111.13/28
            - 111.11.111.14/28
            servidores de nomes:
                endereços:
                - 8.8.8.8
                - 8.8.4.4
                procurar: []
            rotas:
            - para: padrão
                via: 111.11.111.1
        wan2:
            endereços:
            - 222.22.222.10/29
            - 222.22.222.11/29
            - 222.22.222.12/29
            - 222.22.222.13/29
            - 222.22.222.14/29
            servidores de nomes:
                endereços:
                - 8.8.8.8
                - 8.8.4.4
                procurar: []
            rotas:
            - para: padrão
                via: 222.22.222.9                
        lan1:
            endereços:
            - 192.168.10.1/24
            servidores de nomes:
                endereços: []
                procurar: []
        lan2:
            endereços:
            - 192.168.20.1/24
            servidores de nomes:
                endereços: []
                procurar: []
    versão: 2`
usertest@router1:~$ rota ip
padrão via 111.11.111.1 dev wan1 proto estático
192.168.10.0/24 dev enp4s0 proto kernel escopo link src 192.168.10.1
192.168.20.0/24 dev enp5s0 proto kernel escopo link src 192.168.20.1
111.11.111.0/28 dev enp1s5 proto kernel escopo link src 111.11.111.2
222.22.222.8/29 dev enp8s0 proto kernel escopo link src 222.22.222.9

Estações de sub-rede e seus respectivos IPs públicos que gostamos de navegar:

192.168.10.101 ---> 111.11.111.11
192.168.10.102 ---> 111.11.111.12
192.168.10.201 ---> 222.22.222.11
192.168.10.202 ---> 222.22.222.12
192.168.20.10 ---> 222.22.222.10

Vi que preciso trabalhar com várias tabelas de roteamento usando IP ROUTE, mas todas as configurações que tentei falharam...

Alguém sabe como posso resolver isso?

Já tentei algumas configurações de nftables/rota ip... mas não consegui fazer funcionar... Errei tanto que nem sei tudo que tentei... Agora a configuração está assim:

$ rota ip
padrão via 111.11.111.9 dev wan1
192.168.10.0/24 dev lan1 proto kernel escopo link src 192.168.10.1
192.168.20.0/24 dev lan2 proto kernel escopo link src 192.168.20.1
111.11.111.0/28 dev wan1 proto kernel escopo link src 111.11.111.2
222.22.222.8/29 dev wan2 proto kernel escopo link src 111.11.111.10

$ ip rota mostrar tabela 100
padrão via 111.11.111.1 dev wan1 proto estático

$ ip rota mostrar tabela 200
padrão via 222.22.222.9 dev wan2 proto estático

$ ip regra mostrar
0: de todas as pesquisas locais
32764: de 222.22.222.8/29 pesquisa 200 proto estático
32765: de 111.11.111.0/28 pesquisa 100 proto estático
32766: de todas as pesquisas principais
32767: de todas as pesquisas padrão
routing
  • 1 respostas
  • 93 Views
Martin Hope
Seeker
Asked: 2024-09-03 00:59:23 +0800 CST

Nginx - Falha de handshake SSL do Cloudflare sslv3

  • 5

Meu site é www.maiart.org e não consigo me conectar a ele se eu habilitar o proxy no Cloudflare. Tenho o Nginx em execução nas portas 80 e 443 e instalei o certificado de origem do Cloudflare. Aqui está meu arquivo conf:

server{
 listen 80 default_server;
 server_name www.maiart.org maiart.org;

 access_log /var/log/nginx/access_80.log;
 error_log /var/log/nginx/error_80.log;

 root /var/www/maiart;
 location / {
  index index.html;
 }
}

server{
 listen 443 ssl;
 listen [::]:443 ssl;
 server_name www.maiart.org maiart.org;
 ssl_certificate /etc/ssl/cert.pem;
 ssl_certificate_key /etc/ssl/key.pem;

 access_log /var/log/nginx/access_443.log;
 error_log /var/log/nginx/error_443.log;

 root /var/www/maiart;
 location / {
  index index.html;
 }
}

Aqui está minha saída quando executo `openssl s_client -connect www.maiart.org:443 -msg

CONNECTED(00000003)
>>> TLS 1.0, RecordHeader [length 0005]
    16 03 01 01 37
>>> TLS 1.3, Handshake [length 0137], ClientHello
    01 00 01 33 03 03 05 e1 85 3c 4d 8d da d6 21 3d
    04 2b f5 96 70 c6 d3 87 44 5e 02 72 d2 f1 d3 7f
    e9 01 71 9d be bb 20 b7 89 19 12 23 a8 4f 1a e1
    be 45 63 9e c4 70 e6 5e d3 58 35 de 1f 26 6a 60
    12 52 ac 03 63 22 4b 00 3e 13 02 13 03 13 01 c0
    2c c0 30 00 9f cc a9 cc a8 cc aa c0 2b c0 2f 00
    9e c0 24 c0 28 00 6b c0 23 c0 27 00 67 c0 0a c0
    14 00 39 c0 09 c0 13 00 33 00 9d 00 9c 00 3d 00
    3c 00 35 00 2f 00 ff 01 00 00 ac 00 00 00 13 00
    11 00 00 0e 77 77 77 2e 6d 61 69 61 72 74 2e 6f
    72 67 00 0b 00 04 03 00 01 02 00 0a 00 16 00 14
    00 1d 00 17 00 1e 00 19 00 18 01 00 01 01 01 02
    01 03 01 04 00 23 00 00 00 16 00 00 00 17 00 00
    00 0d 00 2a 00 28 04 03 05 03 06 03 08 07 08 08
    08 09 08 0a 08 0b 08 04 08 05 08 06 04 01 05 01
    06 01 03 03 03 01 03 02 04 02 05 02 06 02 00 2b
    00 05 04 03 04 03 03 00 2d 00 02 01 01 00 33 00
    26 00 24 00 1d 00 20 6a 19 14 8d 83 b4 5c 14 24
    68 17 33 29 16 a5 7c 47 48 53 1f 5f a8 53 67 71
    3d 41 09 90 c5 c5 2b
<<< TLS 1.0, RecordHeader [length 0005]
    15 03 01 00 02
<<< TLS 1.3, Alert [length 0002], fatal handshake_failure
    02 28
4017561AC1760000:error:0A000410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../ssl/record/rec_layer_s3.c:1599:SSL alert number 40
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 316 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---

Se eu desligar o proxy pelo cloudflare, então funciona, mas obviamente o navegador mostra que é um site inseguro, pois não pode validar um certificado de origem do cloudflare. Aqui estão minhas configurações do cloudflare:

DNS: Configurações de DNS do Cloudflare

Nível de segurança (se eu mudar para full strict, junto com proxy, não funciona) Nível de segurança

Certificado do servidor de origem: Certificado do servidor de origem

Certificados Edge e outras configurações: Certificados de ponta

nginx
  • 1 respostas
  • 44 Views
Prev
Próximo

Sidebar

Stats

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

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 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