iptables 규칙 - 입력 및 출력

iptables 규칙 - 입력 및 출력

저는 Linux와 iptables. 2개의 네트워크 인터페이스( eth0및 ) 가 있는 PC에 Ubuntu Server 배포판(12.04)이 있습니다 eth1. 또한 2개의 노트북이 있는데 하나는 에 연결되어 eth0있고 다른 하나는 에 연결되어 있습니다 eth1.

laptop1 ipconfig: 172.16.221.120 - 255.255.252.0 laptop2 ipconfig: 192.168.222.250 - 255.255.255.0

laptop1에서 laptop2를 성공적으로 핑하고 싶습니다.

INPUT만들고 규칙을 만들어야 합니까 OUTPUT? 아니면 FORWARD규칙도 있나요?

나는 이것을 시도했지만 성공하지 못했습니다.

iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

답변1

tcpdump핑이 얼마나 멀리 왔는지 확인하려면 다음을 사용할 수 있습니다 .

tcpdump -i eth0 -n icmp
tcpdump -i eth1 -n icmp

게다가 서버에서 핑을 허용하는 것만으로는 충분하지 않습니다. 랩톱은 서버(라우팅)를 통해 다른 랩톱에 연결할 수 있도록 구성되어야 합니다.

아마도 방화벽에는 응답 패킷을 허용하는 규칙이 있을 것입니다. 그렇지 않다면 당신도 필요합니다

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

어쨌든 두 노트북이 다른 노트북을 핑하도록 허용하고 싶기 때문에 이는 의미가 있습니다. 하지만 이를 핑과 퐁으로 제한할 수도 있습니다.

iptables -A FORWARD -i eth1 -o eth0 -p icmp --icmp-type echo-request -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p icmp --icmp-type echo-reply -j ACCEPT

마지막 문제는 랩톱 자체입니다. 그 중 적어도 하나에 자체 방화벽이 있는 경우 핑을 차단할 수 있습니다(일반적으로 또는 인터페이스 네트워크 외부의 소스 주소로 인해).

답변2

기본적으로 netfilter 체인은 ACCEPT기본 정책으로 비어 있으므로 규칙이 필요하지 않습니다. 이미 규칙을 추가한 경우 핑 통과를 허용하려면 체인에 규칙을 추가해야 합니다 FORWARD.

또한 서버를 라우터로 설정하고 각 랩톱에 서버가 기본 경로로 있는지 확인해야 합니다(또는 최소한 다른 랩톱의 서브넷에 대한 경로가 있는지).

/proc/sys/net/ipv4/ip_forward라우팅(IP 전달)을 활성화하려면 로 설정해야 합니다 1. Ubuntu에는 /etc/sysctl.conf항목을 자동으로 설정할 수 있는 위치 가 있어야 합니다 /proc/sys.

# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1

이를 변경하는 경우 변경 사항을 커널에 로드해야 합니다.

sudo sysctl -p /etc/sysctl.conf

변경 사항은 다음 부팅 시 자동으로 로드되므로 변경 후 이 명령을 수동으로 한 번만 실행하면 됩니다 /etc/sysctl.conf.

관련 정보