Windows 7 với chuyển hướng cổng nội bộ, liệu có thể?


9

Tôi đã nhận được yêu cầu từ một trong những nhà phát triển của chúng tôi rằng tôi đang gặp khó khăn khi giải quyết.

Ở đây trong văn phòng họ sử dụng máy tính để bàn linux và tôi có thể chuyển tiếp localhost: 80 thông qua một iptables nat đến localhost: 8080. Những gì họ muốn là điều tương tự ở nhà trong windows 7.

Tôi đã nhận được những gì tôi nghĩ là hai cách để đi về điều này. Một để cấu hình lại máy chủ web jboss và tất cả các url webapps (lộn xộn). Cách khác là tìm cách chuyển hướng / nat cổng localhost 8080 sang cổng 80. Mặc dù trong windows 7 tôi không chắc chắn về cách thực hiện việc này.

Bất cứ ai cũng có bất cứ điều gì về cách làm thứ hai?

Câu trả lời:


6

AFAIK, Win7 không có iptables tương đương. Viết một máy chủ thực hiện những gì bạn muốn (nghe trên một cổng, sao chép mọi thứ sang / từ một cái khác) là đủ dễ dàng. Bạn có thể tìm thấy một địa chỉ tại URL này: http://www.quantumg.net/portforward.php (chưa được kiểm tra). Sử dụng proxy ngược (Google là bạn của bạn) có thể phù hợp với hóa đơn cho lưu lượng truy cập giống như http. Đồng thời kiểm tra bài đăng này: /programming/3721000/port-forwarding-on-windows-7


Doh, tôi cảm thấy như một hình nộm bây giờ, quên mất thuật ngữ proxy ngược. Ngay khi tôi có thể bỏ phiếu, tôi sẽ cho bạn.
bdavenport

12

Vâng, các cửa sổ không có iptables tương đương, nó thông qua công cụ Netsh và giao diện portproxy .

Lệnh để làm những gì bạn muốn sẽ là

netsh interface portproxy add v4tov4 listenaddress=YOUR_IP_HERE listenport=8080 connectaddress=YOUR_IP_HERE connectport=80 

Lưu ý rằng điều này sẽ chỉ thực hiện các kết nối IPv4, nếu bạn cũng muốn chuyển tiếp các kết nối IPv6, bạn cũng cần phải làm

netsh interface portproxy add v6tov6 listenaddress=YOUR_IP_HERE listenport=8080 connectaddress=YOUR_IP_HERE connectport=80

Điều này sẽ được liên tục trên khởi động lại? Ngoài ra, các lệnh không hợp lệ, vì tôi gặp lỗi: "một hoặc nhiều tham số thiết yếu không được xác định"
sorin 21/07/2015

@sorin vẫn tồn tại, tôi sử dụng nó trong một hệ thống nơi tôi chuyển hướng RDP từ cổng tiêu chuẩn sang cổng không chuẩn và tôi chỉ cần chạy lệnh này một lần khi tôi thiết lập máy ảo mới. Đối với lỗi, bạn đúng, tôi đã quên một tham số cho địa chỉ (Tôi thấy bạn đã sửa, cảm ơn!)
Scott Chamberlain

Thay vào đó tôi đã sử dụng add v4tov4 listenport=80 connectaddress=127.0.0.1 connectport=8080Giả sử bạn muốn nghe trên cổng 80 và chuyển hướng đến một máy chủ không nâng cao đang chạy trên 8080, bạn cần chuyển đổi các cổng nghe và kết nối. Nếu bạn muốn đáp ứng cả hai yêu cầu IP mạng và localhost, hãy bỏ nghe. Và bạn có thể chuyển hướng đến 127.0.0.1 để tránh mã hóa địa chỉ IP của bạn.
Carl Walsh

Các lệnh hữu ích khác được mô tả trong tài liệu của Microsoft: docs.microsoft.com/en-us/windows-server/networking/technology/ , ví dụ, để liệt kê các portproxies hiện tại ( netsh interface portproxy show v4tov4) hoặc xóa một postproxy ( netsh interface portproxy delete v4tov4 listenaddress=localhost listenport=80)
neXus

0

Tôi nghĩ rằng Windows không có iptables tương đương. Chỉ huy

netsh interface portproxy ...

làm proxy cổng nhưng không chuyển tiếp gói. Sự khác biệt chính là

  • hiệu suất kém hơn nhiều so với iptables (xem https://plus.google.com/+OlafMonien/posts/fsjUjropYeR )
  • địa chỉ IP nguồn được thay đổi thành localhost (127.0.0.1 hoặc :: 1 tùy thuộc vào phiên bản IP), bạn mất địa chỉ IP nguồn yêu cầu ban đầu.

Chúng tôi đã sử dụng kỹ thuật này để chuyển tiếp cổng nhưng sau những phát hiện đó, chúng tôi phải sử dụng các quy tắc bổ sung trên tường lửa mạng để tránh sử dụng Netsh.

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.