FTP를 통해 서버에 접속하려다 최악의 상황에 직면했습니다. 방화벽을 활성화된 상태로 유지하고 싶습니다.
편집하다: iptables 정보가 업데이트되었습니다.
다음 규칙을 활성화했습니다.
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
58398 7869K RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
0 0 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 state NEW
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 state NEW
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 RH-Firewall-1-INPUT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy DROP 5841 packets, 350K bytes)
pkts bytes target prot opt in out source destination
4046 299K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 114 ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
2935 196K ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:53 state NEW
170 10200 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 ctstate NEW,ESTABLISHED
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:20 ctstate NEW,ESTABLISHED
Chain RH-Firewall-1-INPUT (2 references)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
26 10260 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 255
0 0 ACCEPT esp -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT ah -- * * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT udp -- * * 0.0.0.0/0 224.0.0.251 udp dpt:5353
0 0 ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:631
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
8465 774K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
49907 7084K REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpts:30000:35000
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:21
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:20
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:21
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:20
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 ctstate NEW,ESTABLISHED
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:20 ctstate NEW,ESTABLISHED
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state ESTABLISHED
나는 이것이 필요 이상이라는 것을 알고 있지만 어찌할 바를 모르겠습니다. iptables를 비활성화하면 서버에 제대로 연결할 수 있으므로 이것이 방화벽과 관련이 있다는 것을 알고 있습니다.
포트 21과 수동 연결만 사용하여 연결하고 싶습니다. 수동 연결을 위해 포트 39000~40000을 열고 싶습니다.
나는 무엇을 해야 합니까?
아하! 내가 고쳤어! 나는 규칙을 다시 읽고 어떤 규칙을 거부하고 있는지 확인했습니다. 나는 그것이 규칙을 방해할 것이라는 느낌을 받았고, 실제로 그랬습니다!
그래서 내 연결을 차단한 것은 다음 규칙이었습니다.
49907 7084K REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
그래서 제가 해결한 방법은 서버를 다시 시작하고 규칙을 재설정한 다음 포트 21 규칙을 다음과 같이 추가하는 것이었습니다.앞으로거부 규칙:
sudo iptables -I RH-Firewall-1-INPUT 11 -p tcp -m tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -I RH-Firewall-1-INPUT 11 -p tcp -m tcp --dport 39000:40000 -m state --state RELATED,ESTABLISHED -j ACCEPT
그런 다음 vsftpd.conf에 다음을 추가했습니다.
pasv_enable=YES
pasv_max_port=39000
pasv_min_port=40000
이제 연결할 수 있습니다. 만세!
답변1
질문에 대한 나의 답변은 다음과 같습니다.
아하! 내가 고쳤어! 나는 규칙을 다시 읽고 어떤 규칙을 거부하고 있는지 확인했습니다. 나는 그것이 규칙을 방해할 것이라는 느낌을 받았고, 실제로 그랬습니다!
그래서 내 연결을 차단한 것은 다음 규칙이었습니다.
49907 7084K REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
그래서 제가 해결한 방법은 서버를 다시 시작하고 규칙을 재설정한 다음 포트 21 규칙을 다음과 같이 추가하는 것이었습니다.앞으로거부 규칙:
sudo iptables -I RH-Firewall-1-INPUT 11 -p tcp -m tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
sudo iptables -I RH-Firewall-1-INPUT 11 -p tcp -m tcp --dport 39000:40000 -m state --state RELATED,ESTABLISHED -j ACCEPT
그런 다음 vsftpd.conf에 다음을 추가했습니다.
pasv_enable=YES
pasv_max_port=40000
pasv_min_port=39000
이제 연결할 수 있습니다. 만세!