고정 IP 주소를 사용하는 이더넷 케이블에 랩톱을 연결했습니다. Android 기기와의 연결을 열기 위해 WIFI 카드 연결을 공유했습니다. 내 이더넷 카드 장치는 이고 enp2s0
WIFI 카드 장치는 입니다 wlp3s0
. 내 네트워크 관리 서비스가 모든 것을 처리할 때 아무런 문제가 없습니다. 따라서 Android에서 요구하는 TCP/UDP 열기를 감지하도록 IPTables 규칙을 수정했습니다. 그래서 다음과 같이 기본 IPTables 규칙을 새로 고쳤습니다.
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -t nat -F
/sbin/iptables -t nat -X
/sbin/iptables -t mangle -F
/sbin/iptables -t mangle -X
/sbin/iptables -t raw -F
/sbin/iptables -t raw -X
저는 다음 규칙을 적용했습니다.
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
iptables -P PREROUTING ACCEPT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P POSTROUTING ACCEPT
iptables -A POSTROUTING -s 10.42.0.0/24 ! -d 10.42.0.0/24 -o enp2s0 -j MASQUERADE
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i enp2s0 -j ACCEPT
iptables -A INPUT -i wlp3s0 -p udp -m udp --dport 67 -j ACCEPT
iptables -A INPUT -i wlp3s0 -p tcp -m tcp --dport 67 -j ACCEPT
iptables -A INPUT -i wlp3s0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
iptables -A FORWARD -d 10.42.0.0/24 -o wlp3s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.42.0.0/24 -i wlp3s0 -j ACCEPT
iptables -A FORWARD -i wlp3s0 -o wlp3s0 -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o enp2s0 -j ACCEPT
iptables -A OUTPUT -o wlp3s0 -p udp -m udp --sport 67 -j ACCEPT
iptables -A OUTPUT -o wlp3s0 -p tcp -m tcp --sport 67 -j ACCEPT
iptables -A OUTPUT -o wlp3s0 -p icmp -m icmp --icmp-type 0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
Android 장치의 IP 주소는 10.42.0.138입니다. ping을 시도하면 다음과 같은 오류 메시지가 나타납니다.
ping 10.42.0.138
PING 10.42.0.138 (10.42.0.138) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
내 WIFI 카드를 ping할 수도 있습니다.
ping -c2 10.42.0.1
PING 10.42.0.1 (10.42.0.1) 56(84) bytes of data.
64 bytes from 10.42.0.1: icmp_seq=1 ttl=64 time=0.101 ms
64 bytes from 10.42.0.1: icmp_seq=2 ttl=64 time=0.083 ms
--- 10.42.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.083/0.092/0.101/0.009 ms
내가 놓친 게 무엇입니까? 당신의 도움을 주셔서 감사합니다
답변1
비슷한 문제가 여기에 설명되어 있습니다.ping_문제
가장 큰 지름길 문제는 iptables 규칙에 있습니다.
의견을 보면 문제는 icmp 유형에 있습니다. 이러한 제한을 제거하거나 입력 및 출력 체인에 유사한 제한을 적용하십시오.