[ubuntu] 원격 연결을 위해 Redis 포트 열기

서버에서 Redis를 핑퐁 할 수 있습니다.

# redis-cli ping
PONG

그러나 원격으로 문제가 있습니다.

$ src/redis-cli -h REMOTE.IP ping
Could not connect to Redis at REMOTE.IP:6379: Connection refused

구성에서 표준 포트를 얻었습니다.

# Accept connections on the specified port, default is 6379.
# If port 0 is specified Redis will not listen on a TCP socket.
port 6379

그렇다면 원격 Ubuntu 시스템에서 포트 6379를 열어야할까요? 어떻게하나요?



답변

redis 서버에서 원격 액세스를 허용하도록 bind 옵션을 설정 했습니까?

이전 (파일 /etc/redis/redis.conf)

bind 127.0.0.1

bind 0.0.0.0

sudo service redis-server restart서버를 다시 시작하려면 실행 하십시오. 이것이 문제가 아니라면 액세스를 차단할 수있는 방화벽을 확인하는 것이 좋습니다.

중요 : 방화벽 (iptables, ufw ..)을 사용하여 사용중인 포트에 연결하는 사용자를 제어하지 않으면 누구나이 Redis 인스턴스에 연결할 수 있습니다. Redis를AUTH 사용하지 않으면 누구나 데이터에 액세스 / 변경 / 삭제할 수 있습니다. 안전한!


답변

나를 위해 다음을 수행해야했습니다.

1- 주석 처리 bind 127.0.0.1

2 변경 protected-modeno

3- iptables( https://www.digitalocean.com/community/tutorials/how-to-implement-a-basic-firewall-template-with-iptables-on-ubuntu-14-04 )로 내 서버 보호


답변

Redis 서버를 추가로 보호하지 않고이 작업을 수행하는 것은 공격에 노출 될 수 있으므로 좋은 생각이 아닙니다. 또한 AUTH를 구현하거나 보안을 유지해야합니다. 자세한 내용은 http://redis.io/topics/security 를 참조하십시오.


답변

1- 주석 바인드 127.0.0.1

2-set requirepass yourpassword

그런 다음 방화벽이 포트를 차단했는지 확인하십시오.

iptables -L -n

서비스 iptables 중지


답변

  1. $ REDIS_HOME / redis.conf를 열고 주석 처리를 제거 requirepass -YOUR-PASSWORD-HERE-하고 지정된 줄에 암호를 적어 둡니다 .

  2. redis-cli를 사용하여 redis에 로그인하고 auth -YOUR-PASSWORD-HERE-명령을 사용하여 데이터베이스에서 암호를 확인합니다 .

  3. $ REDIS_HOME / redis.conf의 문자열을 protected-mode no.

  4. 모든 바인드 포트 값을 검색하고 모두 주석 처리하십시오. bind 0.0.0.0$ REDIS_HOME / redis.conf 파일에 추가 하기 만하면됩니다.

  5. 방화벽을 비활성화하거나 redis 포트를 엽니 다.

  6. 를 사용하여 redis를 시작합니다 ./redis-server $REDIS_HOME/redis.conf.

  7. 를 통해 구성을 확인하십시오 ./redis-cli -h -YOUR-IP- -a -YOUR-PASSWORD-HERE-.

  8. 를 통해 구성을 확인하십시오 ./redis-cli -h -YOUR-IP- ping.

답변

  1. 위치에서 파일 열기 /etc/redis.conf

  2. 주석 처리 bind 127.0.0.1

  3. Redis를 다시 시작합니다.

     sudo systemctl start redis.service
    
  4. 방화벽 비활성화 :

     systemctl disable firewalld
    
  5. 방화벽 중지 :

     systemctl stop firewalld
    

그런 다음 시도하십시오.

redis-cli -h 192.168.0.2(ip) -a redis(username)


답변

AWS ec2 인스턴스를 사용하는 경우 필수 사항이라고 생각하는 추가 단계가 하나 더 있습니다. 3 단계를 놓 쳤고 보안 그룹에 인바운드 규칙을 추가하는 데 하루 종일 걸렸습니다.

1 단계 (이전) : redis.conf에서 bind 127.0.0.1을 0.0.0.0으로 바인드하십시오.

2 단계 (이전) : redis.conf에서 보호 모드 예를 보호 모드 아니요로 변경합니다.

Amazon Ec2 인스턴스에 중요 :

3 단계 : 현재 ec2 머신에서 보안 그룹으로 이동합니다. 6379 포트가있는 사용자 지정 TCP에 대한 인바운드 규칙을 추가하고 “어디에서나 사용”옵션을 선택합니다.