Câu hỏi Proxy trên Ubuntu


Mục đích là để máy Ubuntu hoạt động như một proxy cho một máy khác trên WAN. Cách đơn giản nhất để thực hiện điều đó là gì?

Để giải thích chi tiết hơn: Có hai máy trên cùng một mạng WAN, nhưng một trong số chúng có thể truy cập Internet và một máy khác không thể. Tuy nhiên, có thể nói chuyện từ máy này sang máy khác. Vì vậy, vấn đề là thiết lập máy chủ proxy trên máy tính có khả năng kết nối Internet (đã cài đặt Ubuntu).

Lưu ý: Đây không phải là về việc sử dụng một máy làm cầu nối trên cùng một mạng LAN, có thể được thực hiện dễ dàng, đây là một cách tiếp cận khác (như tôi đã hiểu).


1
2017-12-12 16:55


gốc


cho tôi biết nếu máy mà bạn muốn hoạt động như một proxy cho một máy khác có kết nối trực tiếp hoặc chính nó sau một proxy khác? - souravc
Nó là một kết nối trực tiếp ở đó. - v010dya


Các câu trả lời:


Giải pháp rất dễ dàng là cài đặt gói máy chủ Proxy, chẳng hạn như polipo. Đối với một máy duy nhất phục vụ internet cho một thiết bị khác có lẽ là tất cả những gì bạn cần làm.

sudo apt-get install polipo

Sau đó, chỉ cần định cấu hình dịch vụ polipo để cho phép kết nối từ thiết bị khác, ví dụ: bỏ nhận xét và thay đổi các dòng sau trong /etc/polipo/config tập tin:

proxyAddress = "0.0.0.0"

allowedClients = 192.168.56.0/24

Sau đó khởi động lại máy chủ polipo để cập nhật cấu hình của nó:

sudo /etc/init.d/polipo restart

Phần phức tạp hơn là thuyết phục (các) thiết bị khác của bạn sử dụng máy chủ proxy polipo. Đặt proxy phụ thuộc hoàn toàn vào phần mềm trên máy không được kết nối trực tiếp.


1
2018-04-16 09:39





Kịch bản của tôi liên quan đến cùng một điều với ngoại lệ duy nhất mà máy khác (cần internet) là một máy tính bảng Android trong trường hợp của tôi. Tôi đã sử dụng iptables để định tuyến. Nó là một giải pháp dễ dàng và out-of-the-box trên nền tảng Ubuntu / Debian. Đây là một kịch bản định tuyến mẫu mà bạn có thể chạy trên máy có hỗ trợ internet:

#Instead of ppp0, use the interface you use to access the internet
#Instead of wlan0, use the interface connected to your "internet-needy" machine
#####Enable Forwarding:
sysctl -w net.ipv4.ip_forward=1
iptables -P FORWARD ACCEPT

###########Create NAT rules using IPTables
iptables --table nat --delete-chain
iptables --table nat -F
iptables --table nat -X
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
iptables -A FORWARD -i ppp0 -o wlan0 -j ACCEPT -m state --state RELATED,ESTABLISHED
iptables -A FORWARD -i wlan0 -o ppp0 -j ACCEPT
###########

#Allow through firewall
iptables -A OUTPUT --out-interface wlan0 -j ACCEPT
iptables -A INPUT --in-interface wlan0 -j ACCEPT

Khi bạn chạy tập lệnh này, máy ubuntu của bạn hoạt động như một bộ định tuyến giữa máy tính cần thiết internet và internet, chuyển tiếp các gói internet đến và giữa các gói.

Chỉ cần nhớ rằng định tuyến xảy ra ở mức thấp hơn nhiều so với proxy và do đó hiệu suất tốt hơn. Nhược điểm duy nhất là bạn không thể làm những việc như lọc ra nội dung hoặc xác thực người dùng dựa trên máy khách proxy. Tuy nhiên, nếu bạn chỉ muốn chia sẻ internet với hiệu suất tốt, tôi khuyên bạn nên sử dụng phương pháp này.


1
2017-12-12 17:49