![iptables는 로컬 LAN에 있는 하나의 IP에서만 액세스를 허용합니다.](https://linux55.com/image/182627/iptables%EB%8A%94%20%EB%A1%9C%EC%BB%AC%20LAN%EC%97%90%20%EC%9E%88%EB%8A%94%20%ED%95%98%EB%82%98%EC%9D%98%20IP%EC%97%90%EC%84%9C%EB%A7%8C%20%EC%95%A1%EC%84%B8%EC%8A%A4%EB%A5%BC%20%ED%97%88%EC%9A%A9%ED%95%A9%EB%8B%88%EB%8B%A4..png)
호스트의 포트 8888에서 실행되는 웹 서버가 IP 주소 192.168.36.202를 사용하는 네트워크의 다른 컴퓨터에서만 액세스할 수 있도록 IP 주소 192.168.36.51을 사용하는 Ubuntu 가상 머신에서 iptables 방화벽을 구성하는 방법.
방화벽이 기본 설정으로 실행되고 있음을 고려하십시오.
Kali Linux, Windows 8 및 Ubuntu를 사용하는 가상 랩이 있습니다. Ubuntu에서 Apache 서버를 실행 중이고 다음 명령을 실행하여 트래픽을 차단했습니다.
sudo iptables -A INPUT -p tcp -s 192.168.36.202 --dport 8888 -j ACCEPT
sudo iptables -A OUTPUT -d 192.168.36.202 -j ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT DROP
답변1
거의 다 왔습니다. Ubuntu 서버의 규칙은 다음과 같습니다.
# Flush away previous broken rules
sudo iptables -F
# Allow SSH
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Allow HTTP on TCP 8888
sudo iptables -A INPUT -p tcp -s 192.168.36.202 --dport 8888 -j ACCEPT
# Allow return traffic
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# And finally deny everything (inbound)
sudo iptables -A INPUT -j DROP