Tôi có thể làm cho Windows 7 thay đổi cài đặt proxy dựa trên kết nối mạng của mình không?


26

Di chuyển LapTop của tôi giữa công việc và nhà tôi cần thay đổi cài đặt proxy internet của mình. Có cách xây dựng nào để windows 7 thay đổi các cài đặt này dựa trên mạng hiện đang hoạt động của tôi không?


1
Owh Tôi rất muốn máy tính xách tay của tôi làm điều tương tự, chỉ là quá lười biếng để tìm câu trả lời :-(
Ivo Flipse

Câu trả lời:


20

Bạn có thể thiết lập điều này với PAC (Tập lệnh cấu hình tự động proxy). Chúng là các tập lệnh nhỏ được viết bằng Javascript cho phép bạn chỉ định các quy tắc kết nối khác nhau. Hầu hết các trình duyệt web máy tính để bàn hiện đại có thể đọc chúng mà không gặp vấn đề gì, tôi có cùng một trình duyệt được thiết lập trong cả Internet Explorer và Firefox.

Một tệp PAC tối thiểu luôn gửi bạn đến máy chủ proxy proxy.companyname trên cổng 81:

function FindProxyForURL(url, host)
{
     return "PROXY proxy.companyname:8080";
}

Và một ví dụ phức tạp hơn một chút về tệp PAC kiểm tra mạng bạn đang truy cập bằng cách kiểm tra phạm vi địa chỉ IP bạn đã chọn. Trong ví dụ này, tất cả các PC khách trong công ty của bạn được cung cấp một địa chỉ IP trong phạm vi 10.10. * Bởi DHCP và truy cập internet thông qua máy chủ proxy proxy.companyname trên cổng 81.

//Turn debug mode on by setting debug variable to any non-empty string
//Note that "" is an empty string, and that "0", "1" & "test" are not empty strings.


function FindProxyForURL(url, host)
  {
    var ip = myIpAddress();
    var debug = "";

    if(debug)
    {
        alert("proxy.pac IP=" + ip + "  HOST=" + host + "  URL=" + url);
    }

      // All client PCs on the internal network will have a 10.10.x.x address, check if I have this
     if (shExpMatch(ip, "10.10.*"))
     {
             if(debug)
          {
                 alert("Proxy for " + url);
             }
     return "PROXY proxy.companyname:81";
     }

     // If you have a different IP then this isn't the company network
     else 
     {
             if(debug)
          {
      alert("You are not at CompanyName so going direct for " + url);
             } 
            return "DIRECT";
     }

  }

Kịch bản cũng có chế độ gỡ lỗi mà bạn có thể sử dụng để kiểm tra xem nó có hoạt động không và chế độ nào (kết nối PROXY hoặc TRỰC TIẾP) mà nó nghĩ rằng kết nối hiện tại của bạn sẽ là.

Bạn cũng có thể tạo một tập lệnh phức tạp hơn để kiểm tra những thứ như nếu máy chủ bạn đang kết nối có trên mạng công ty nội bộ của bạn (và do đó muốn có kết nối TRỰC TIẾP, mặc dù PC của bạn hiện đang ở trên mạng công ty) đây là nơi bạn ' d đặt bất cứ thứ gì bạn thường đặt vào hộp ngoại lệ proxy của IE, bằng cách mở rộng nó như sau:

//Turn debug mode on by setting debug variable to any non-empty string
//Note that "" is an empty string, and that "0", "1" & "test" are not empty strings.


function FindProxyForURL(url, host)
  {
    var ip = myIpAddress();
    var debug = "";

    if(debug)
    {
        alert("proxy.pac IP=" + ip + "  HOST=" + host + "  URL=" + url);
    }

    // Detect if trying to connect to internal/intranet host
    if(isPlainHostName(host) || dnsDomainIs(host, "intranet.companyname"))
    {
 if(debug)
 {
            alert("Direct for " + url);    
     }
    return "DIRECT";   
    }

    // Detect if trying to connect to URLs on the internal network via internal DNS suffix or IP address
    if(shExpMatch(url, "*.companyname") || shExpMatch(host, "10.100.*"))
    {
 if(debug)
 {
     alert("Direct for " + url);
 } 
        return "DIRECT";    
    } 

     // All client PCs on the internal network will have a 10.10.x.x address, check if I have this
     if (shExpMatch(ip, "10.10.*"))
     {
             if(debug)
          {
                 alert("Proxy for " + url);
             }
     return "PROXY proxy.companyname:8080";
     }

     // If you have a different IP then this isn't the company network
     else 
     {
             if(debug)
          {
      alert("You are not at CompanyName so going direct for " + url);
             } 
            return "DIRECT";
     }

  }

Sử dụng tệp này bằng cách lưu nó ở đâu đó trên ổ C của PC dưới dạng proxy.pac, sau đó cho Internet Explorer, đi tới Công cụ -> Tùy chọn (hoặc Bảng điều khiển -> Tùy chọn Internet), sau đó nhấp vào tab Kết nối, nhấp vào nút Cài đặt mạng LAN . Bây giờ, hãy đánh dấu vào ô "Sử dụng máy chủ proxy" ở dưới cùng và thay vào đó hãy đánh dấu vào "Sử dụng tập lệnh cấu hình tự động" và nhập địa chỉ của tệp PAC của bạn bằng tệp: // URL like file://C:/proxy.pac.

Cài đặt proxy IE

Ngoài ra, đối với Firefox, hãy chuyển đến Công cụ -> Tùy chọn, nhấp vào tab Nâng cao, nhấp vào tab Mạng, nhấp vào nút Cài đặt, nhấp vào cài đặt "URL cấu hình proxy tự động", một lần nữa sử dụng tệp: /// URL (lưu ý rằng trong Firefox có là 3 dấu gạch chéo sau dấu hai chấm, vd file:///C:/proxy.pac.

Cài đặt proxy Firefox


Lưu ý rằng Internet Explorer 11 đã thay đổi hành vi này và bây giờ bạn không thể tải tệp PAC từ URL 'tệp: //', bạn phải sử dụng URL 'HTTP: //' hoặc 'HTTPS: //'.

Trong Internet Explorer 11, nhóm WinINET đã vô hiệu hóa hỗ trợ của WinINET cho tệp: // tập lệnh dựa trên để thúc đẩy khả năng tương tác giữa các ngăn xếp mạng. Thay vào đó, các công ty được khuyên nên lưu trữ tập lệnh cấu hình proxy của họ trên máy chủ HTTP hoặc HTTPS.

Hiện tại có một cách giải quyết có thể kích hoạt lại tính năng này, nhưng bạn không nên sử dụng nó, vì các bản cập nhật trong tương lai cũng có thể vô hiệu hóa tính năng này.

Như một giải pháp tạm thời, khối này có thể được gỡ bỏ bằng cách đặt khóa đăng ký sau:

Khóa: HKLM \ PHẦN MỀM \ Chính sách \ Microsoft \ Windows \ CurrentVersion \ Cài đặt Internet \
Giá trị: EnableLegacyAutoProxyFeatures
Loại: REG_DWORD
Dữ liệu: 1

Hãy nhớ rằng đây chỉ là một biện pháp tạm thời, vì khối này được giới thiệu vì những lý do chính đáng và việc xóa khối sẽ không sửa chữa một cách kỳ diệu các ứng dụng dựa trên WinHTTP của bạn.

Cũng lưu ý rằng sau khi thực hiện thay đổi này IE11, bạn sẽ cần thay đổi cài đặt địa chỉ cho tập lệnh tự động cấu hình vì IE 11 chỉ chấp nhận một cú pháp cho điều này (xem phần dưới cùng của bài viết được liên kết trên blog IE Internals bên dưới).

Tuy nhiên, như đã lưu ý, không có khả năng giải pháp khóa đăng ký này sẽ tiếp tục hoạt động trong các phiên bản Internet Explorer trong tương lai, vì vậy bạn nên tìm cách giữ PAC trên máy chủ web. Máy chủ web IIS tích hợp Windows sẽ làm được, và có những cái tối thiểu hơn ngoài đó cũng sẽ hoạt động để cài đặt trên máy tính xách tay của bạn.

Thông tin thêm về mục blog của IE Internals Hiểu cấu hình Web Proxy .


Điều đó thật tuyệt vời cho đến khi bạn truy cập vào một mạng không dây công cộng khác sử dụng cùng dải IP riêng như tôi sử dụng tại nhà của mình. :)
dannysauer

Bài đăng hay. Được viết tốt.
Jeff F.

1
Điều này không hoạt động trong Windoes 8.1
Milind R

3
Để mở rộng nhận xét của @ MilindR ở trên, các tệp PAC vẫn ở trong Windows 8 / IE11, nhưng bạn cần tải tệp PAC của mình từ URL HTTP hoặc HTTPS, không thể chỉ sử dụng đường dẫn dựa trên tệp hoặc UNC. Thông tin thêm từ nhóm Internet Explorer tại đây Hiểu Cấu hình Web Proxy và câu trả lời này đã được cập nhật để phản ánh các thay đổi của IE11.
GAThrawn

4

Sử dụng Bộ chuyển đổi IP miễn phí 1.0

văn bản thay thế

Sự miêu tả:

Bất cứ khi nào người dùng di động chuyển sang mạng khác, phải thay đổi địa chỉ IP cụ thể, địa chỉ cổng, mặt nạ mạng con, máy chủ proxy và máy in mặc định, v.v. sang môi trường mạng cụ thể. Để làm điều đó, anh ta phải nhớ thông tin cài đặt TCP / IP của mọi mạng. Ngoài ra, anh ta phải khởi động lại máy tính để áp dụng nó vào hệ thống và truy cập Internet.

Đừng lãng phí thời gian của bạn để cấu hình lại các cài đặt mạng máy tính mỗi khi bạn thay đổi vị trí của mình. Bộ chuyển đổi IP miễn phí là một giải pháp hoàn hảo cho bạn. Nó chuyển đổi giữa các cài đặt mạng được cấu hình sẵn chỉ bằng một cú nhấp chuột và không có bất kỳ khởi động lại nào. Với Bộ chuyển đổi IP miễn phí, bạn có thể tự động thay đổi tất cả các cài đặt mạng trên máy tính của mình: địa chỉ IP, mặt nạ mạng, cổng mặc định, máy chủ DNS, máy chủ thắng, cài đặt proxy, máy in mặc định và hơn thế nữa.

Tính năng, đặc điểm:

  • Chuyển cài đặt mạng IP "nhanh chóng" mà không cần khởi động lại
  • Chuyển đổi cài đặt máy chủ proxy Internet Explorer
  • Chuyển máy in mặc định của bạn
  • Chuyển tên máy tính và nhóm làm việc của bạn
  • Nhập cài đặt mạng hiện tại vào cài đặt
  • Hỗ trợ biểu tượng khay hệ thống, tự động khởi động với windows
  • 100% phần mềm gián điệp MIỄN PHÍ, KHÔNG chứa bất kỳ phần mềm gián điệp, phần mềm quảng cáo hoặc vi-rút

2
Tôi không thể tin rằng thứ gì đó hữu ích như cấu hình cấu hình mạng chưa được tạo thành một phần của Windows 7. Ubuntu có nó, Mac OS X có nó. . .
dreamlax

Tôi biết Dell đã tạo ra một công cụ như vậy cho Latitude của tôi, nhưng tôi không thích nó :-(
Ivo Flipse

Phiên bản tải xuống không hoạt động cho Windows /
Hakan Forss

@IvoFlipse Bạn có thể nhớ lại cái được gọi là gì không?
Matthys Du Toit

@MatthysDuToit Tôi không thể
Ivo Flipse

3

Bạn có các lựa chọn thay thế (trả phí) khác để chuyển đổi cấu hình mạng, như Mobile Net Switch hoặc NetSetMan


+1 cho NetSetMan, cách dễ nhất để thay đổi proxy trong IE
miky
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.