로컬 서버를 제외한 모든 것을 전달하는 iptables

로컬 서버를 제외한 모든 것을 전달하는 iptables

내가 사용하는 규칙은 다음과 같습니다.

iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface wlan5 -j MASQUERADE
iptables --append FORWARD --in-interface wlan3 -j ACCEPT

192.168.1.100에는 wlan5가 있고 10.0.0.1에는 wlan3이 있습니다. 저는 노트북을 Wi-Fi 카드 2개로 Wi-Fi 중계기로 만듭니다.

따라서 사람들은 wlan3에 연결하고 게이트웨이는 10.0.0.1이며 모든 것이 wlan5 [gw 192.168.1.1]로 리디렉션됩니다.

이제 이것은 훌륭하게 작동하고 있습니다.제외하고내 노트북에 호스팅된 로컬 HTTP 서버에 액세스할 수 없습니다. 내 노트북에서 호스팅되며 localhost 또는 10.0.0.1로 작동합니다.

$ curl -I 10.0.0.1
HTTP/1.1 301 Moved Permanently
Date: Tue, 26 Feb 2013 02:35:32 GMT
Server: Apache/2.2.22 (Ubuntu)
Location: http://10.0.0.1/index.php
Vary: Accept-Encoding
Content-Type: text/html; charset=iso-8859-1

좋아, 여기서 문제가 발생합니다. IP 10.0.0.20을 사용하는 내 공유 네트워크 [wlan3]의 클라이언트가 10.0.0.1:80에 액세스하려고 시도하지만 연결할 수 없습니다.

$ wget http://10.0.0.1                                       
Connecting to 10.0.0.1 (10.0.0.1:80)
wget: can't connect to remote host (10.0.0.1): Connection refused

10.0.0.1을 핑할 수 있으며 외부 IP도 핑할 수 있습니다. 요점은 인터넷에 연결되어 있지만 iptables 규칙 때문에 HTTP에 액세스할 수 없다는 것입니다. 오류 직후 랩톱 syslog에 다음이 표시됩니다.

Feb 25 21:36:19 toshi kernel: [57806.285170] Inbound IN=wlan3 OUT= MAC=9c:b7:0d:a5:45:67:a8:26:d9:3e:04:21:08:00 SRC=10.0.0.20 DST=10.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=28282 DF PROTO=TCP SPT=58343 DPT=80 WINDOW=65535 RES=0x00 SYN URGP=0 

문제는 IP 요청을 wlan5로 전달하지 않고 10.0.0.1로 전달하는 것을 어떻게 제외할 수 있느냐는 것입니다.

감사해요

답변1

편집: 다시 한 번, 문제가 해결되었다고 생각한 후에 더 이상 iptables 명령을 실행하지 않고 다시 작동이 멈췄습니다. 왜 계속 작동하고 작동하지 않는지 알 수 없습니다. >.<


1개의 [장거리] Wi-Fi 장치에서 다른 [내부] 장치로 인터넷을 공유하는 데 작동하는 다른 iptables 명령을 찾았습니다.

iptables -t nat -A POSTROUTING -o wlan5 -j MASQUERADE

질문의 iptables 명령 대신. 이렇게 하면 계속 인터넷에 액세스할 수 있고 10.0.0.20에서 10.0.0.1의 http/ssh에 계속 액세스할 수 있습니다.

답변2

그만큼iptables-save 산출귀하가 게시한 필터 테이블에는 INBOUND, OUTBOUND, LOG_FILTER, LSI 및 LSO와 같은 사용자 정의 체인이 표시됩니다. Firestarter는 5개의 체인을 생성하며 모두 정확히 같은 이름을 갖습니다.

귀하의 문제는 Firestarter로 인해 발생했다고 확신합니다. 그것을 열고 실제로 비활성화되어 있는지 확인하십시오.

참고자료:

관련 정보