집에서 파이용 nginx 서버를 설정하려고 합니다. 문제는 동적 업데이트에 시간이 오래 걸린다는 것입니다. 그러므로 내 gitolite 서버에 접근할 수 없습니다.
그래서 dyndns를 사용하는 대신 ec2 인스턴스를 설정했습니다. 내 도메인으로 들어오는 모든 트래픽은 이 ec2 IP를 사용합니다. 거기에서 나는 nginx를 사용하여 내 파이에 대한 트래픽을 조절합니다. http와 https 서버 모두에서 잘 작동합니다. SSH용 스트리밍 서버를 설정할 수도 있습니다. 이제 문제가 발생합니다. 내가 아는 한 SSH 프로토콜은 DNS를 제공하지 않습니다. 글쎄요, 저는 시스템 관리자가 아니기 때문에 용어를 잘못 사용하고 있는 것일 수도 있습니다.
내 파이에 Fail2ban을 설치했습니다. 모든 SSH 트래픽은 동일한 IP를 사용하여 nginx 서버를 통과합니다. 그런 다음 Fail2ban에 의해 차단되면. 전혀 접근할 수 없습니다.
nginx를 사용하고 싶은 분들을 위해. 권장하지는 않지만 작동합니다.
stream {
upstream ssh {
server xx.xxx.xxx.xxx:22;
}
server {
listen 22;
proxy_pass ssh;
}
upstream ssh {
server xx.xxx.xxx.xxx:2288;
}
server {
listen 2288;
proxy_pass ssh;
}
}
나는 이것이 nginx ^1.2에서만 작동한다고 생각합니다.
가능한 모든 구성을 시도했습니다.
# proxy_bind $remote_addr:$remote_port transparent;
# proxy_bind $remote_addr transparent;
# proxy_set_header Host $host;
# proxy_protocol on;
그들 중 누구도 IP를 통과하지 못했습니다. 어쩌면 구성에 어떤 문제가 있는지 아는 사람이 있을까요?
또한 iptables 사용에 대한 몇 가지 제안도 읽었습니다. 그런 다음 다음을 모두 시도했습니다.
#iptables -t nat -I PREROUTING -p tcp -i eth4 --dport 22 -j DNAT --to xx.xxx.xxx.xxx:22
#iptables -A FORWARD -i eth4 -o eth1 -p tcp --dport 22 -j ACCEPT
#iptables -t nat -A PREROUTING -p tcp -i ppp0 --dport 22 -j DNAT --to-destination xx.xxx.xxx.xxx
#iptables -A FORWARD -p tcp -d xx.xxx.xxx.xxx --dport 22 -m state --state NEW,ESTABLISHED,RELAT$
#iptables -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to-destination xx.xxx.xxx.xxx:2244
#iptables -A FORWARD -m state -p tcp -d xx.xxx.xxx.xxx --dport 22 --state NEW,ESTABLISHED,RELAT$
#iptables -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to-destination xx.xxx.xxx.xxx:2244
왜 작동하지 않는지 잘 모르겠습니다. -i eth4 -o eth1 이것이 네트워크인 것 같아요. 그렇지 않나요? ppp0도 포함되어 있죠? 내 파이에는 eth0이 하나만 있습니다.
누군가 나에게 말해 줄 수 있습니까? 여기서 문제가 무엇입니까? 동일한 포트를 사용하여 들어오고 나갈 수 있나요? 아니면 다른 포트여야 하나요? iptables 구성에 대한 설명이 도움이 될 것입니다.
감사합니다!