Ubuntu Server 10.04 및 두 개의 NIC를 사용하여 Squid 프록시가 작동하지 않습니다. 하나는 WAN에 연결되고 다른 하나는 LAN에 연결됩니다.

Ubuntu Server 10.04 및 두 개의 NIC를 사용하여 Squid 프록시가 작동하지 않습니다. 하나는 WAN에 연결되고 다른 하나는 LAN에 연결됩니다.

프록시 서버를 설정하려고 하는데 설정할 수 없습니다. 내 설정 세부정보는 다음과 같습니다.

서버(IBM X3800 시리즈) 1대와 데스크탑 PC 1대가 있습니다. 서버에 네트워크 카드가 연결되어 있어야 합니다. eth0과 eth1. eth0은 202 시리즈의 글로벌 IP를 통해 WAN에 연결되어 있고 서버에서는 인터넷이 잘 작동하고 있어서 인터넷에 연결할 수 있습니다. eth1은 스위치에 연결되어 있고 아래는 eth1에 구성되어 있습니다.

IP: 192.168.2.2
Netmask: 255.255.255.0
Gateway: 192.168.2.1
Network: 192.1968.2.0
Broadcast: 192.168.2.255

.NET을 사용하여 오징어 프록시를 설치했습니다 apt-get install squid. 파일을 변경했어요

/etc/squid/squid.conf

아래 세부정보를 추가했습니다.

httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
acl lan src 192.168.2.0/24
http_access allow lan

마지막으로 이러한 iptable 규칙을 추가했습니다.

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to globalip:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

여기서 globalip는 eth0의 IP입니다.

이제 데스크탑 PC는 스위치를 통해 서버에 연결되고 데스크탑 PC의 IP 구성은 다음과 같습니다.

IP: 192.168.2.4
Netmaskapt-get install squid: 255.255.255.0
Gateway: 192.168.2.1
Network: 192.1968.2.0
Broadcast: 192.168.2.255

데스크톱에서 서버로, 서버에서 데스크톱으로 쉽게 핑을 보낼 수 있습니다. 하지만 내 데스크톱 시스템이 인터넷에 액세스할 수 없습니다. 그래서 문제는 오징어에 있는 것 같아요. 이 문제를 해결하도록 도와주세요. 다른 정보가 필요하면 알려주시기 바랍니다.

감사해요

답변1

www.google.com에 ping을 시도해 보셨나요? 응답을 받지 못하면 오징어 설정이나 iptables에 문제가 있을 수 있습니다. DNS 지원을 위해 바인딩9를 설치할 수 있는 경우. 도움이 되길 바랍니다.

답변2

귀하의 "게이트웨이"는 다음과 같이 나열됩니다.192.168.2.1, 하지만 에서 투명 프록시를 수행하려고 합니다.192.168.2.2.

eth0에서 실제 인터넷에 액세스할 수 있는 "서버"는 eth1 구성에 게이트웨이를 나열해서는 안 됩니다. 그러면 두 개의 기본 게이트웨이가 제공되며 그 중 하나는 명확하지 않고 작동할 수도 있습니다.

따라서 해당 기본 게이트웨이를 제거하고 클라이언트 PC의 기본 게이트웨이를 192.168.2.2.

답변3

나도 같은 오류가 발생했지만 해결 방법은 다음과 같습니다. 두 nic(네트워크 인터페이스 카드)에 서로 다른 네트워크를 할당합니다.

192.168.1.Ip를 다음에 할당한다고 가정합니다.eth0

그런 다음 192.168.2.IP를 할당해야 합니다.eth1

eth0192.168.2.ip 또는 192.168.1.IP 에 할당된 네트워크 이외의 다른 네트워크를 사용할 수 있습니다.

& eth0라우터에 연결되어 있다고 가정하면 라우터 IP로 게이트웨이가 있어야 합니다.

& eth1클라이언트 시스템이 연결된 스위치에 연결되어 있다고 가정합니다. 프록시의 IP는 브라우저의 프록시 구성에 입력되어야 합니다.

& 또한 주석 처리되지 않았습니다net.ipv4.ip_forward=1

이는 /etc/sysctl.conf파일 저장 설정 및 재부팅에 존재하며 다음을 입력하여 핑이 수신되었는지 서버에서 확인합니다.

ping www.google.com오징어 서버에서 인터넷이 작동하는지 확인하세요

해당 IP를 핑하면 eth1스위치에서 클라이언트 PC로 연결된 NIC입니다. eth1클라이언트 터미널에서 IP를 ping합니다.

귀하의 IP는 2.2 및 2.4이며 동일한 네트워크에 있습니다. eth1의 IP를 192.168.3.ip로 변경하거나 3번을 2가 아닌 다른 숫자로 바꾸는 것이 좋습니다. eht1에 게이트웨이를 입력할 필요는 없지만 브로드캐스트 주소도 입력해야 합니다. 변경 사항은 eth1에 대해 192.168.3.IP를 선택했다고 가정하고 네트워크는 192.168.3.0이고 브로드캐스트 IP는 192.168.3.255입니다.

아래는 내 구성입니다

auto eth0  ( ON board Ethernet port & is connected to ROuter)

iface eth0 
inet static

address 192.168.2.8
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
gateway 192.168.2.5
dns-nameservers 192.168.2.5 8.8.8.8
auto eth1

(LAN 카드는 스위치에 연결되어 있고 클라이언트는 스위치에 연결되어 있습니다)

iface eth0
inet static

address 192.168.1.120
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.5
dns-nameservers 192.168.2.5 8.8.8.8
Clients have ip of 192.168.1.IP

관련 정보