Tiếp cận thiết bị trong mạng LAN của tôi từ Internet


18

Tôi có một thiết bị nhúng mà tôi có thể lập trình qua Ethernet IP khi được kết nối trên cùng một bộ định tuyến với PC như sau:

nhập mô tả hình ảnh ở đây

Có thể gửi toàn bộ lưu lượng truy cập qua Internet mà vẫn có thể lập trình nó? Để làm cho nó rõ ràng hơn một chút, một cái gì đó như:

nhập mô tả hình ảnh ở đây


6
"IP Ethernet"? Không phải đó chỉ là ... một mạng giống như mạng LAN thông thường sao?
grawity

Lập trình trên mạng qua IP Ethernet "- chính xác điều đó có nghĩa là gì? Sẽ hữu ích nếu bạn có thể chỉ định thiết bị và IDE nào bạn đang nói đến. Tôi giả sử IDE kết nối với thiết bị trên một địa chỉ IP nhất định và cổng TCP để nhận lệnh?
slhck

@grawity vâng, đó là một mạng LAN. Giống như mạng thông thường
Động cơ

3
Câu trả lời rõ ràng là IPv6, tất nhiên.
Michael Hampton

1
@grawity Ethernet / IP là một giao thức tự động hóa công nghiệp, không nên nhầm lẫn với IP qua Ethernet :(
richardb

Câu trả lời:


50

Phương pháp đơn giản (và không an toàn)

Những gì bạn đang tìm kiếm được gọi là chuyển tiếp cổng [ 1 ] [ 2 ] .

Ví dụ: chúng ta hãy giả sử như sau:

  • Thiết bị lập trình của bạn hoạt động trên cổng 22và có IP192.168.1.5

  • IP công cộng của bạn là 122.176.11.55

Sau đó, bạn có thể đi vào cài đặt của bộ định tuyến và chuyển tiếp cổng WAN (ví dụ 8022:) sang 192.168.1.5:22.

Giờ đây, bạn có thể truy cập thiết bị từ xa từ bất cứ đâu thông qua internet bằng cách truy cập 122.176.11.55:8022thay vì 192.168.1.5:22trong IDE của bạn.

Hãy nhớ rằng trừ khi bạn có IP tĩnh, IP công cộng của bạn có thể thay đổi bất cứ lúc nào, trong trường hợp đó bạn nên kiểm tra các dịch vụ DNS động .

LƯU Ý : trừ khi thiết bị của bạn có một số phương thức xác thực, ai đó có mục đích độc hại gần như chắc chắn sẽ tìm thấy quyền truy cập vào thiết bị trên web mở. Xem dưới đây để thay thế an toàn.

Phương pháp an toàn (và trung thực không phức tạp hơn nhiều)

Để lại một máy tính (hoặc pi mâm xôi, hoặc tương tự) kết nối với mạng của bạn và truy cập từ xa thay vì thông qua một cái gì đó an toàn như SSH, và sau đó chương trình thiết bị của bạn thông qua nó qua mạng LAN.
Điều này cũng có thêm lợi thế làm việc ngay cả khi thiết bị của bạn không sử dụng TCP hoặc UDP :)

Một chút tẻ nhạt, vâng. Nhưng an toàn.


10
Nó cũng sẽ giúp ghi chú rằng, nếu OP thiết lập một hướng mở để làm điều này, mọi người khác trên toàn thế giới có thể có khả năng thay đổi mã. Trừ khi có một số hình thức xác thực, sớm hay muộn, các nhân viên kiểm soát cổng sẽ tìm thấy cổng và một hacker sẽ cố gắng đột nhập, đó là một sự đảm bảo.
LPChip

@LPChip Thật vậy! Tôi nên đề cập rằng, xấu của tôi.
rahuldottech hỗ trợ Monica

Bổ sung tốt đẹp. :) Tôi sẽ cung cấp cho bạn +1 cho nó, nhưng tôi đã cung cấp cho nó tai nghe, bởi vì ngay cả khi không có cảnh báo, nó đã là một câu trả lời tốt. :)
LPChip

2
@FreeMan sau này, có thể mất vài ngày trước khi trình thu thập thông tin bot xuất hiện, tùy thuộc vào cổng bạn sử dụng, nhưng sớm hơn theo nghĩa là, nếu bạn không may mắn, điều đó có thể xảy ra trong vài phút.
LPChip

1
@IsmaelMiguel Tất nhiên, bạn nên làm tất cả những thứ bảo mật cơ bản rõ ràng. Tôi chỉ không có cách nào để biết họ là gì trong trường hợp cụ thể này.
rahuldottech hỗ trợ Monica

11

Câu trả lời đúng và duy nhất có thể là "VPN".

Đơn giản chỉ cần sử dụng IPv6 sẽ "hoạt động" (giả sử bộ định tuyến không được cấu hình để tường lửa khỏi thiết bị và tất cả ISP, thiết bị và máy tính xách tay hỗ trợ IPv6), nhưng đó là một ý tưởng tồi cho cùng một lý do chuyển tiếp cổng.

Ngoài việc được quảng bá bởi tuyên truyền IPv6 nổi tiếng, bạn thực sự không bao giờ muốn bất kỳ thiết bị nào trong mạng LAN của mình có thể nhận dạng duy nhất hoặc thậm chí có thể truy cập được từ internet. Không, đó không phải là một điều tốt.

Chuyển tiếp cổng sẽ "hoạt động" với IPv4 cũ tốt, nhưng nó giúp thiết bị có thể truy cập không chỉ cho bạn mà còn cho tất cả mọi người. Không ai biết, vì vậy đó không có vấn đề, phải không?
Vâng, có một đội ngũ máy quét cổng tự động chạy 24/7 và quét các địa chỉ / cổng ngẫu nhiên với hy vọng mọi thứ, mọi nơi có thể trả lời, do đó, nói chung có bất kỳ thiết bị nào sẽ trả lời cho yêu cầu bên ngoài trực tuyến là không tối ưu. Nếu một thiết bị sẽ vui vẻ tự lập trình theo những gì có trong mạng, thì đó là một công thức cho trình giải mã.
Trên đây về nguyên tắc cũng đúng với VPN, nhưng nó khá tốt như bạn có thể nhận được, nếu bạn muốn truy cập. Điều duy nhất thực sự an toàn là không có kết nối internet, đây không phải là một lựa chọn thực tế vì những lý do rõ ràng. Điều an toàn tiếp theo để "không có internet" là VPN. Chính xác là một cổng trên chính xác một thiết bị (tốt, tùy thuộc vào tối đa ba cổng), hiển thị VPN và không có gì khác , được chuyển tiếp sang internet.

VPN cho phép bạn - nhưng không ai khác - truy cập một thiết bị trên mạng LAN của bạn qua internet như thể bạn đang ở trên cùng một mạng LAN (mặc dù chậm hơn một chút). Nó ngăn chặn truy cập trái phép, nó cung cấp bảo mật và toàn vẹn dữ liệu.

Hầu như mọi bộ định tuyến không có shit đều hỗ trợ ít nhất một hương vị VPN ra khỏi hộp. Thật không may, tùy thuộc vào mô hình bộ định tuyến mà bạn có, nó có thể là một hương vị kém của VPN hoặc nó có thể được ghi lại kém về cách định cấu hình máy tính từ xa. Tuy nhiên, bất chấp những rắc rối có thể có để tìm ra cách cấu hình nó - nếu bạn không có gì tốt hơn, đó là lựa chọn tốt nhất!
Hầu hết các hộp NAS phổ biến đều hỗ trợ hai hoặc ba phương thức không hút của VPN và mỗi máy tính 3 watt có kích thước thẻ tín dụng $ 20 có thể chạy máy chủ VPN, không có vấn đề gì. Thậm chí nhiều điện thoại di động hiện đại hỗ trợ VPN mà không cần phải cài đặt thêm phần mềm, do đó bạn thậm chí có thể truy cập mạng gia đình của mình khi bạn đang sử dụng internet điện thoại di động của mình (thông qua điểm truy cập riêng tư, thậm chí).

Ví dụ: L2TP / IPSec có thể không phải là lựa chọn tuyệt vời nhất, nhưng nó tốt đến 99% và mất một phút để thiết lập trên Disk Station và trên điện thoại Samsung của tôi. Một phút nữa nếu máy tính xách tay Windows của tôi cũng sử dụng nó (độc lập với điện thoại). Không cần thêm phần mềm.
OpenVPN mất khoảng 3-5 phút thiết lập vì bạn sẽ phải tải xuống cài đặt phần mềm máy khách trên máy tính xách tay. Nhưng trong bức tranh lớn hơn, thiết lập 5 phút được tính là "không", so với việc hoàn toàn không an toàn.


5
Mua dịch vụ của bên thứ 3 không phải là câu trả lời duy nhất. Bạn có thể có được hiệu ứng tương tự với SSH hoặc RDP.
jpaugh

4
Hai câu trả lời đúng và duy nhất là đường hầm VPN hoặc SSH ... Một số giao thức VPN không tốt lắm trong việc ngăn chặn MITM ...
dạng

5
SSH là cách rẻ hơn, thuận tiện hơn và dễ cài đặt hơn và có lẽ là tùy chọn tốt hơn trong kịch bản này
rahuldottech hỗ trợ Monica

@jpaugh: VPN không liên quan đến bất kỳ dịch vụ bên thứ 3 nào. Mặc dù tôi sẽ dễ dàng đồng ý rằng SSH có thể được tạo ra để hoạt động, nhưng nó không giống với VPN khi dễ cài đặt, không có cài đặt bổ sung-không-hoops, và cuối cùng nhưng không kém phần quan trọng, khả năng sử dụng liền mạch . Bây giờ, về RDP ... bạn tất nhiên là nói đùa, phải không? Đây không chỉ là triển khai nguyên sơ, phần mềm có thể bị khai thác nhiều nhất trên thế giới (hoặc ít nhất là trong top 5), mà bản thân giao thức cũng không an toàn, sử dụng các mật mã bị hỏng (không thể hoạt động, không lý thuyết) và phiên bản TLS đã được thay thế một thập kỷ trước.
Damon

4
-1 chỉ đơn giản là "một và chỉ" trong tiêu đề, SSH với chuyển tiếp cổng cũng hoàn toàn hợp lệ và có thể an toàn hơn vì bạn không nhất thiết phải cấp quyền truy cập từ xa vào toàn bộ mạng của mình, chỉ một cổng của một thiết bị và rất có thể thật dễ dàng để định cấu hình và bạn không phụ thuộc vào việc triển khai phần mềm ngẫu nhiên của bộ định tuyến đối với một tính năng hiếm khi được sử dụng.
Bill K

2

Lưu trữ VPN, trong thiết bị bộ định tuyến / cổng bảo mật hoặc hộp khác có cổng chuyển tiếp đến hộp đó. Bất cứ khi nào bạn muốn làm việc từ xa, hãy kết nối với VPN và bạn sẽ thấy thiết bị được nhúng như thể nó nằm trên một mạng cục bộ. Có lẽ sẽ là một ý tưởng tốt khi đặt thiết bị nhúng vào mạng con bị cô lập, để giúp ngăn chặn các cuộc tấn công vào mạng chính của bạn nếu VPN hoặc thiết bị nhúng bị xâm phạm.


1

Biến PC Windows không có IDE thành PC Linux trong cấu hình hợp lý an toàn với sshd đang chạy. Chuyển tiếp từ bộ định tuyến của bạn sang cổng SSH trên máy Linux. Sử dụng đường hầm SSH để kết nối với IP của thiết bị nhúng. Sau đó, khi lập trình trên máy từ xa của bạn với IDE, bạn sẽ kết nối với localhost thay vì LAN IP.

Nghe trên internet với một dịch vụ cứng như SSH là hợp lý an toàn. Nghe trực tiếp trên internet với sự phát triển bất cứ điều gì là một ý tưởng tuyệt vời tồi tệ. SSH là một người gác cổng. Nếu bạn chắc chắn xác minh khóa máy chủ, nó sẽ bảo vệ hoàn toàn chống lại MITM. Nó sử dụng mật mã tốt. Thiết lập đường hầm không liên quan đến định tuyến hoặc bắc cầu mà thay vào đó trông như thể bạn đang kết nối trực tiếp từ máy SSHD. Điều này là rất đơn giản để thiết lập chính xác.


Bạn có thể ... Chỉ cần chạy máy chủ SSH trên Windows, bạn không cần Linux ở đây.
rahuldottech hỗ trợ Monica

"Sau đó, khi lập trình trên máy từ xa của bạn với IDE, bạn sẽ kết nối với localhost thay vì LAN IP." Điều này không có ý nghĩa với tôi, chi tiết?
rahuldottech hỗ trợ Monica

@rahuldottech Chuyển tiếp cổng SSH hoạt động ở cấp độ tcp. Trên máy chủ, sshd mở các kết nối tới tài nguyên trên mạng cục bộ và chuyển tiếp nội dung của ổ cắm đó qua SSH. Trên máy từ xa, máy khách ssh lắng nghe trên cổng localhost. Khi bạn kết nối với localhost trên cổng đó, đó là máy khách SSH và nó chỉ nối các kết nối tcp lại với nhau. Hơi lạ nhưng thực sự đa năng vì không có định tuyến ip!
kẻ phản diện

-1

Gần đây tôi đã bắt gặp một giải pháp tốt hơn cho truy cập từ xa cá nhân. Trước tiên hãy thảo luận về phạm vi của vấn đề. Có ba vấn đề xuất hiện: nat, địa chỉ IP và bảo mật. Ví dụ, trong các trường hợp phổ biến khi bạn muốn chạy ssh hoặc máy chủ web trên mạng gia đình, cách tiếp cận truyền thống là chuyển tiếp cổng và dns động và các thực tiễn tốt nhất theo tiêu chuẩn ngành để bảo mật. Điều này có nhược điểm cho trường hợp của bạn vì thiết bị của bạn không có bảo mật tiêu chuẩn. Điều này có thể được giảm thiểu bằng cách sử dụng chuyển tiếp cổng ssh thay vì mở thiết bị của bạn với internet,

Tuy nhiên, có một giải pháp đơn giản hơn, và tin hay không đó là dịch vụ ẩn. Các dịch vụ ẩn của tor về cơ bản hoạt động như một cổng chuyển tiếp, nhưng tự động xử lý giao dịch tự nhiên và không có địa chỉ thay đổi nên không cần dns động. Tất nhiên có những vấn đề về địa chỉ củ hành rất khó nhớ, nhưng nếu bạn là người dùng duy nhất, bạn có thể ghi nó vào một trong các tệp dự án của bạn. Tôi khuyên bạn vẫn nên so sánh điều này với một máy chủ ssh để cung cấp xác thực, nhưng bạn có thể quyết định rằng địa chỉ củ hành dài là đủ. Ngoài ra các dịch vụ ẩn tor cung cấp mã hóa toàn bộ liên kết ngoại trừ lần nhảy cuối cùng, vì vậy cách duy nhất để cải thiện là kết thúc mã hóa, nhưng điều đó phụ thuộc vào thiết bị bạn đang lập trình.


4
Sử dụng dịch vụ hành tây sẽ chỉ làm cho cách này phức tạp hơn mà không có thêm lợi ích. Tor có thể hữu ích. Sẽ không có trong trường hợp này.
rahuldottech hỗ trợ Monica
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.