นี่คือการขับรถฉันถั่วเล็กน้อย ฉันสร้างอินสแตนซ์ AWS และฉันไม่สามารถ ssh จาก Macbook ได้ ฉันสามารถไปที่อื่นได้ ฉันสามารถ ssh จากเครื่องอื่น ๆ ในเครือข่ายเดียวกันกับอินสแตนซ์ของ AWS ดังนั้นไม่ใช่ไฟร์วอลล์ของฉันและไม่ใช่อินสแตนซ์ AWS ของฉัน
มีอะไรใน Macbook ของฉันที่อาจป้องกันไม่ให้ฉันสามารถส่งออก SSH ไปยัง IP เฉพาะหรือช่วงของ IP ได้
xxx@yyy:~/notes/Software/AWS $ tcpdump tcp port 22 &tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 65535 bytes
ssh 54.247.29.171
ssh: connect to host 54.247.29.171 port 22: Connection refused
xxx@yyy:~/notes/Software/AWS $ ssh 50.247.29.171
10:45:47.857206 IP 172.31.255.253.56694 > 50.247.29.171.ssh: Flags [S], seq 3668893593, win 65535, options [mss 1460,nop,wscale 3,nop,nop,TS val 128333370 ecr 0,sackOK,eol], length 0
มันมีลักษณะเช่นไฟร์วอลล์หรือการกำหนดเส้นทางเป็นสิ่งที่ แต่เส้นทางจะตายง่ายและซอฟต์แวร์ไฟร์วอลล์ของฉัน Macbook ถูกปิดใช้งาน ฉันจะรีบูตเร็ว ๆ นี้เพื่อทดสอบสิ่งนั้น แต่ฉันต้องการทราบเพิ่มเติมเกี่ยวกับวิธีการทำงานของ Mac และทำไมการเชื่อมต่อนี้อาจไม่ทำงาน
จาก tcpdump คุณสามารถเห็นได้ว่ามันไม่ได้พยายามเชื่อมต่อกับ 54.247.29.171 แต่ถ้าฉันให้มันปลอม IP 50.247.29.171 อย่างน้อยก็ส่งแพ็คเก็ต
ด้านล่างคุณจะเห็นว่ามันจับเกี่ยวกับการกำหนดเส้นทางอย่างใด
xxx@yyy :~/notes/Software/AWS $ traceroute 54.247.29.171
traceroute to 54.247.29.171 (54.247.29.171), 64 hops max, 40 byte packets
traceroute: sendto: No route to host
1 traceroute: wrote 54.247.29.171 40 chars, ret=-1
^C
แต่ไม่มีอะไรโดดออกมาที่ฉัน:
xxx@yyy :~/notes/Software/AWS $ netstat -nr
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 172.31.255.1 UGSc 10 16 en0
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 0 73859 lo0
169.254 link#4 UCS 0 0 en0
172.31.255/24 link#4 UCS 3 0 en0
172.31.255.1 0:e0:52:aa:bb:cc UHLWI 12 231 en0 1176
172.31.255.18 0:26:ab:dd:ee:ff UHLWI 0 0 en0 1182
172.31.255.253 127.0.0.1 UHS 0 0 lo0
คิด? นี่ต้องเป็นอะไรที่เรียบง่ายจริงๆ
ฉันคิดว่าอาจเป็นโปรแกรมฝนตกหนักส่ง แต่ฉันปิดใช้งานบัญชีดำเพียร์และฉันคาดหวังว่าจะใช้ ipfw หรืออะไรบางอย่าง
ไม่แน่ใจว่าจะครอบคลุมทุกอย่างหรือไม่มีวิธีอื่นในการปิดกั้นการเชื่อมต่อขาออกหรือไม่:
$ sudo ipfw list
65535 allow ip from any to any
ปรับปรุง:
- การรีบูตไม่สามารถแก้ไขได้
- ภาพ VirtualBox Debian ของฉันบน Macbook ของฉันไม่สามารถเข้าถึงได้
ตามที่ขอ
$ ssh -v 54.247.29.171
OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to 54.247.29.171 [54.247.29.171] port 22.
debug1: connect to address 54.247.29.171 port 22: Connection refused
ssh: connect to host 54.247.29.171 port 22: Connection refused
จากการทดสอบด้านล่างดูเหมือนว่าพอร์ต 80 ใช้งานได้ ... มีสิ่งที่บล็อกพอร์ตขาออก 22 สำหรับโฮสต์นี้โดยเฉพาะ
ฉันพบ PPload ในรายการงานมันเป็นกระบวนการของผู้พิทักษ์ ฉันลืมฉันได้ติดตั้งไว้แล้ว แต่มันจะอธิบายพฤติกรรมนี้ (แม้แต่พอร์ต 80) ฉันฆ่ามัน แต่บล็อกยังคงอยู่ในสถานที่ ฉันถอนการติดตั้งตั้งแต่นั้น แต่ฉันยังไม่ต้องรีบูต (ฉันฝนตกหนัก Libreoffice และไม่ต้องการได้รับการแจ้งลบออก :-))
ชาวสวนสามารถทำการบล็อกได้อย่างไร? ใน Linux มันไม่ง่ายเลยที่จะเห็นกฎไฟร์วอลล์ทั้งหมดเป็น "รายการ ipfw" มันจะพลาดตารางเช่นการกำหนดเส้นทางล่วงหน้าเป็นต้นมี 'tables' อื่น ๆ หรือเทียบเท่าใน MacOS หรือไม่
xxx@yyy:~ $ tcpdump host 54.247.29.171&
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on en0, link-type EN10MB (Ethernet), capture size 65535 bytes
xxx@yyy:~ $ ssh -v 54.247.29.171&
OpenSSH_5.2p1, OpenSSL 0.9.8r 8 Feb 2011
debug1: Reading configuration data /etc/ssh_config
debug1: Connecting to 54.247.29.171 [54.247.29.171] port 22.
debug1: connect to address 54.247.29.171 port 22: Connection refused
ssh: connect to host 54.247.29.171 port 22: Connection refused
xxx@yyy:~ $ telnet 54.247.29.171 22
Trying 54.247.29.171...
telnet: connect to address 54.247.29.171: Connection refused
telnet: Unable to connect to remote host
xxx@yyy:~ $ telnet 54.247.29.171 80
Trying 54.247.29.171...
telnet: connect to address 54.247.29.171: Connection refused
telnet: Unable to connect to remote host
xxx@yyy:~ $ 09:09:35.738770 IP 172.31.255.11.49874 > ec2-54-247-29-171.eu-west-1.compute.amazonaws.com.http: Flags [S], seq 3011923576, win 65535, options [mss 1460,nop,wscale 3,nop,nop,TS val 573636510 ecr 0,sackOK,eol], length 0
09:09:35.841506 IP ec2-54-247-29-171.eu-west-1.compute.amazonaws.com.http > 172.31.255.11.49874: Flags [R.], seq 0, ack 3011923577, win 0, length 0
dig 54.247.29.171 any
และnslookup 54.247.29.171
ส่งคืนให้คุณบ้าง? ฉันได้รับ: gist.github.com/2998601