cổng ssh chuyển tiếp để truy cập vào máy chủ của tôi từ bất cứ đâu


24

Tôi đến từ câu hỏi này: /superuser/359799/how-to-make-freebsd-box-accessible-from-iNET

Tôi muốn hiểu toàn bộ quá trình này port forwarding.

Tôi đã đọc rất nhiều thứ, nhưng tôi không hiểu được khái niệm rất cơ bản của việc chuyển tiếp cổng.

Tôi có gì:

một máy chủ freebsd ngồi ở nhà tôi.
bộ định tuyến mạng

Đây là những gì tôi đang cố gắng để đạt được:

để có thể truy cập máy chủ freebsd từ máy windows qua internet để có thể mở webbrowser và truy cập internet.

Tôi cũng muốn truy cập hộp freebsd này từ một máy Ubuntu mà tôi có.

Sẽ thật tuyệt nếu ai đó có thể vui lòng giúp tôi.

Đây là thiết lập bộ định tuyến netgear mà tôi đã làm để chuyển tiếp cổng.

cổng chuyển tiếp netgear


Vui lòng di chuyển nếu đây là một superusercâu hỏi.
hari

Cần làm rõ hơn một chút. Nếu máy Windows đã ở đâu đó trên Internet và đã có quyền truy cập internet, tại sao bạn muốn kết nối với hộp FreeBSD ở nhà để truy cập Internet?
OldTimer

@OldTimer: Tôi không chắc câu hỏi / mối quan tâm của bạn có liên quan như thế nào.
hari

Sử dụng địa chỉ ipv6, không còn NAT nữa, không còn rắc rối nữa ;-)
Stéphane Gimenez

1
Chờ đợi! Có phải tôi vừa nói rằng : - /
Stéphane Gimenez

Câu trả lời:


47

Tôi sẽ bắt đầu với những sự thật thô thiển:

  1. Bạn có: A- hộp FreeBSD của bạn, B- bộ định tuyến của bạn và C- một số máy có truy cập Internet. Đây là cách nó trông như thế nào:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
    \_________ ________/
              v
               `- this is your LAN
    

    Lưu ý cách bộ định tuyến của bạn thường hoạt động: nó cho phép kết nối từ các máy trên mạng LAN của bạn với Internet (nói đơn giản). Vì vậy, nếu A(hoặc bất kỳ máy nào khác trên mạng LAN) muốn truy cập Internet, nó sẽ được cho phép (một lần nữa, chỉ nói về hiểu biết cơ bản và cấu hình):

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `-->----'  `--->--->---^  
    

    Và những điều sau đây không được phép theo mặc định:

    .-----.      .-----.                        .-----.
    |  A  |  ==  |  B  |  - - ( Internet ) - -  |  C  |
    '-----'      '-----'                        '-----'
          `--<----'  `---<--- - - - - --<---<-----'
    

    (Nghĩa là, bộ định tuyến bảo vệ các máy trong mạng LAN của bạn khỏi bị truy cập từ Internet.) Lưu ý rằng bộ định tuyến là phần duy nhất trong mạng LAN của bạn được nhìn thấy từ Internet 1) .

  2. Chuyển tiếp cổng là những gì cho phép lược đồ thứ ba diễn ra. Này bao gồm trong bảo router kết nối từ C2) nên đến máy trên mạng LAN. Điều này được thực hiện dựa trên số cổng - đó là lý do tại sao nó được gọi là chuyển tiếp cổng . Bạn định cấu hình bằng cách hướng dẫn bộ định tuyến rằng tất cả các kết nối đến trên một cổng nhất định từ Internet sẽ đến một máy nhất định trên mạng LAN. Đây là một ví dụ cho cổng 22 được chuyển tiếp đến máy A:

    .------.     .-------.                        .-----.
    |  A   | ==  |   B   |  - - ( Internet ) - -  |  C  |
    |      |     |       |                        '-----'
    '-|22|-'     ',--|22|'                          |
        `--<-22---'    `---<---- - - - - - --<-22---'
    
  3. Các kết nối như vậy thông qua Internet xảy ra dựa trên địa chỉ IP. Vì vậy, một đại diện chính xác hơn một chút của ví dụ trên sẽ là:

    .------.      .-------.                                .-----.
    |  A   |  ==  |   B   | - - - - - ( Internet ) - - - - |  C  |
    |      |      |       |                                '-----'
    '-|22|-'      ',--|22|'                                   |
        `--<-A:22--'    `--<-YourIP:22 - - - - --<-YourIP:22--'
    

    Nếu bạn không có kết nối Internet với IP tĩnh , thì bạn phải tìm hiểu bằng cách nào đó IP hiện được gán cho bộ định tuyến của bạn bởi ISP. Mặt khác, Csẽ không biết nó phải kết nối IP nào để đến bộ định tuyến của bạn (và hơn nữa, đến A). Để giải quyết vấn đề này một cách dễ dàng, bạn có thể sử dụng dịch vụ có tên DNS động . Điều này sẽ khiến bộ định tuyến của bạn định kỳ gửi thông tin đến một máy chủ DNS đặc biệt sẽ theo dõi IP của bạn và cung cấp cho bạn một tên miền . Có khá nhiều nhà cung cấp DNS động miễn phí. Nhiều bộ định tuyến đi kèm với các tùy chọn cấu hình để dễ dàng liên hệ với chúng.

1) Một lần nữa, đây là một sự đơn giản hóa - thiết bị thực tế được nhìn thấy trên Internet là modem - thường có thể được tích hợp với bộ định tuyến, nhưng cũng có thể là một hộp riêng biệt.
2) hoặc bất kỳ máy nào khác có kết nối Internet.


Bây giờ cho những gì bạn muốn:

  1. Đơn giản chỉ cần cho phép ssh truy cập vào máy của bạn từ Internet là một ý tưởng tồi. Có hàng ngàn bot được thiết lập bởi các cracker tìm kiếm trên Internet các máy có cổng SSH mở. Họ thường "gõ" vào cổng SSH mặc định của càng nhiều IP càng tốt và một khi họ tìm thấy một daemon SSH đang chạy ở đâu đó, hãy thử truy cập bruteforce vào máy. Điều này không chỉ có nguy cơ đột nhập tiềm năng mà còn gây chậm mạng trong khi máy đang bị phá hủy.

  2. Nếu bạn thực sự cần quyền truy cập như vậy, ít nhất bạn nên

    • đảm bảo rằng bạn có mật khẩu mạnh cho tất cả các tài khoản người dùng,

    • truy cập disallow gốc thông qua SSH (bạn luôn có thể đăng nhập như người dùng bình thường và suhay sudosau đó),

    • thay đổi cổng mặc định mà máy chủ SSH của bạn sẽ chạy,

    • giới thiệu một cơ chế không cho phép nhiều lần thử đăng nhập SSH (với thời gian chờ đợi cho các lần thử tiếp theo - Tôi không nhớ chính xác nó được gọi như thế nào - Tôi đã kích hoạt nó một thời gian trước trên FreeBSD và tôi nhớ nó khá dễ dàng - hãy thử tìm kiếm một số diễn đàn FreeBSD, v.v ... về việc bảo mật SSH, bạn sẽ tìm thấy nó.)

    • Nếu có thể, hãy thử chạy ssh daemon chỉ khi bạn biết bạn sẽ truy cập vào máy trong tương lai gần, tắt nó đi sau đó

  3. Làm quen với việc đi qua nhật ký hệ thống của bạn. Nếu bạn bắt đầu nhận thấy bất cứ điều gì đáng ngờ, hãy giới thiệu các cơ chế bảo mật bổ sung như bảng IP hoặc gõ cổng .


10
Được ủng hộ vì lòng tốt của Ascii ...
jasonwryan

Cảm ơn vì lời giải thích chi tiết. Tôi sẽ tiêu hóa điều này trong một chút và bình luận lại.
hari

Tôi đã hoàn toàn nhận được quan điểm của bạn. Câu hỏi của tôi là, tôi đã cấu hình (đúng hoặc sai - tôi không chắc chắn) bộ định tuyến mạng của tôi. Tôi cần làm gì tiếp theo?
hari

2
Hãy xem bản chỉnh sửa của tôi (phía dưới) về quyền truy cập SSH bên ngoài.
rozcietrzewiacz

Cảm ơn vì thông tin. Tôi đã nhận được những gì bạn đang cố gắng truyền đạt. Câu hỏi của tôi là, tôi cần làm gì để bất kỳ ai (có quyền truy cập) trên internet có thể chạy trình duyệt trên hộp freebsd. Làm thế nào để tôi thiết lập điều đó?
hari

3

Có một vài cách để thực hiện điều này. Đơn giản nhất có lẽ là thiết lập cái được gọi là DMZ. Tuy nhiên, cách an toàn hơn là trên bộ định tuyến của bạn để thiết lập tuyến tĩnh trên cổng 22 đến IP của máy chủ của bạn.

Tài nguyên:


Cảm ơn. Tôi đã thực hiện một phần trên bộ định tuyến netgear: Tôi đã thiết lập chuyển hướng theo cách này: dịch vụ: cổng HTTP: 80 máy chủ ip: 192.168.1.16 - ở đây ip này là ip của hộp freebsd của tôi. Tôi nên làm gì tiếp theo?
hari

Thiết lập một bài kiểm tra từ bên ngoài vị trí của bạn, cá nhân tôi chỉ cần kết nối điện thoại với máy tính xách tay của mình và thử ssh'ing vào địa chỉ IP của tôi. Tôi giả sử bạn biết địa chỉ IP bên ngoài của bạn. Hoặc cách khác, bạn có thể thử truy cập máy chủ web của bạn.
Đánh dấu

SSH không hoạt động với IP bên ngoài của tôi. Tôi có cần phải làm gì trên máy chủ freebsd của mình không?
hari

Bạn có thể SSH từ mạng nội bộ của bạn?
Đánh dấu

Vâng. Tôi có thể làm điều đó
hari

1

Điều này có thể được thực hiện bởi bộ định tuyến của bạn. Trên một số bộ định tuyến, tính năng này được gọi làVirtual Server

Xem trong phần bên dưới của hình ảnh có hai ví dụ về chuyển tiếp cổng. Một cái là của Web và một cái khác là của SSH. Trong trường hợp đầu tiên, bất kỳ yêu cầu nào trên IP IP của bạn, tức là IP của bộ định tuyến có cổng 80sẽ được chuyển tiếp đến IP LAN ( 192.168.2.4trong trường hợp này)
Với tính năng này, bạn có thể nhận các dịch vụ chạy trên PC / máy chủ của mình chạy trong mạng LAN từ mọi nơi trên thế giới tức là những dịch vụ đó không giới hạn ở mạng LAN
Chuyển tiếp cổng hoặc máy chủ ảo trên bộ định tuyến

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.