Tôi hiện có một hộp NAS chạy dưới cổng 80. Để truy cập NAS từ bên ngoài, tôi đã ánh xạ cổng 8080 sang cổng 80 trên NAS như sau:
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 10.32.25.2:80
Đây là làm việc như một nét duyên dáng. Tuy nhiên, điều này chỉ hoạt động nếu tôi đang truy cập trang web từ bên ngoài mạng (tại nơi làm việc, tại nhà khác nhau, v.v.). Vì vậy, khi tôi nhập mywebsite.com:8080
, IPTables thực hiện công việc chính xác và mọi thứ đều hoạt động tốt.
Bây giờ, vấn đề tôi gặp phải là, làm thế nào tôi có thể chuyển hướng cổng này từ bên trong mạng? Tên miền của tôi mywebsite.com
trỏ đến bộ định tuyến của tôi (máy chủ linux của tôi) từ bên trong (10.32.25.1) nhưng tôi muốn chuyển hướng cổng 8080 sang cổng 80 trên 10.32.25.2 từ bên trong.
Có manh mối nào không?
Chỉnh sửa số 1
Cố gắng giúp tạo điều kiện cho câu hỏi này, tôi đặt sơ đồ này cùng nhau. Xin vui lòng cập nhật nếu nó không chính xác hoặc trình bày sai những gì bạn đang tìm kiếm.
iptables
| .---------------.
.-,( ),-. v port 80 |
.-( )-. port 8080________ | |
( internet )------------>[_...__...°]------------->| NAS |
'-( ).-' 10.32.25.2 ^ 10.32.25.1 | |
'-.( ).-' | | |
| '---------------'
|
|
__ _
[__]|=|
/::/|_|
10.32.25.1:8080
chuyển hướng đến 10.32.25.2:80
. Quy tắc của tôi ở trên là hoạt động từ bên ngoài, nhưng không phải từ bên trong mạng của tôi. Vì vậy, nếu tôi ở văn phòng, tôi có thể truy cập NAS của mình từ trang web.com:8080 và nó hoàn toàn minh bạch. Từ nhà của tôi, website.com:8080 trỏ đến 10.32.25.1 vì đó là bộ định tuyến của tôi hay máy chủ Linux. Tôi muốn chuyển hướng cổng 8080 sang NAS cũng trên cổng 80 nhưng một lần nữa, một cách minh bạch.
eth0 10.32.25.2
, để chúng tôi có thể viết iptables sử dụng dựa trên giao diện gửi đến