So bereiten Sie einen Server für einen Proxy unter Ubuntu 16.04 vor

So bereiten Sie einen Server für einen Proxy unter Ubuntu 16.04 vor

Ich versuche, einen Proxyserver mit Ubuntu 16.04 vorzubereiten. Mein Server hat die folgenden Netzwerkkarten:

enp4s0    Link encap:Ethernet  HWaddr 00:15:c5:f6:c0:36
          inet addr:192.168.0.101  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::215:c5ff:fef6:c036/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5118 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3065 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:7474529 (7.4 MB)  TX bytes:254689 (254.6 KB)
          Interrupt:16

enp6s0    Link encap:Ethernet  HWaddr 00:08:54:31:8f:79
          inet addr:172.24.3.19  Bcast:172.24.3.255  Mask:255.255.252.0
          inet6 addr: fe80::208:54ff:fe31:8f79/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7573 errors:0 dropped:334 overruns:0 frame:0
          TX packets:2756 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:756664 (756.6 KB)  TX bytes:881724 (881.7 KB)

enp4s0 ist eine mit dem Internet verbundene WAN-Netzwerkkarte. enp6s0 ist eine LAN-Netzwerkkarte.

Ich habe sie so konfiguriert, wie sie ist /etc/network/interfaces:

allow-hotplug enp4s0
iface enp4s0 inet dhcp

allow-hotplug enp6s0
iface enp6s0 inet static
address 172.24.3.19
netmask 255.255.252.0
gateway 172.24.0.1
dns-nameservers 172.24.3.1

enp4s0 hat die folgende IP-Adresse erhalten, extrahiert aus /var/lib/dhcp/dhclient.enp4s0.leases:

lease {
  interface "enp4s0";
  fixed-address 192.168.0.101;
  option subnet-mask 255.255.255.0;
  option routers 192.168.0.1;
  option dhcp-lease-time 7200;
  option dhcp-message-type 5;
  option domain-name-servers 192.168.0.1,8.8.8.8;
  option dhcp-server-identifier 192.168.0.1;
  renew 5 2018/06/08 16:03:17;
  rebind 5 2018/06/08 16:59:19;
  expire 5 2018/06/08 17:14:19;
}

GefolgtNairabytes.nethabe ich einige iptables-Regeln wie folgt angewendet:

iptables -t nat -A POSTROUTING -o enp4s0 -j MASQUERADE
iptables -A FORWARD -i enp4s0 -o enp6s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i enp6s0 -o enp4s0 -j ACCEPT

Daher lauten die iptables-Regeln wie folgt:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Was ich jedoch nicht verstehe, ist, warum immer nur eine der beiden Netzwerkkarten ordnungsgemäß funktioniert. Dieser Server kann zwar über enp6s0 mit dem LAN kommunizieren, kann aber keine Verbindung zum Internet herstellen.

Also wende ich diesen Weg darauf an:

sudo /sbin/route add -net 0.0.0.0 gw 192.168.0.1 enp4s0

Und alles wird rückgängig gemacht! Der Server kann sich nun mit dem Internet verbinden, ist aber über das LAN nicht mehr erreichbar.

Meine ursprüngliche Frage warein Versuch, ein Gateway einzurichten, aber das scheint unmöglich zu sein, da enp6s0 eine LAN-Netzwerkkarte ist und mit einem VLAN verbunden ist. Genauer gesagt hat dieses VLAN bereits ein Gateway (172.24.0.1) und ich möchte diesen Server für alle anderen Subnetze sichtbar machen (nicht nur 172.24.0.1, sondern wir haben noch 12 weitere Subnetze! Alle sind mit der Netzmaske 172.24.0.0 verbunden).

Also habe ich beschlossen, einen Proxy und kein Gateway einzurichten. Ich habe Squid installiert, muss aber die Konnektivität herstellen, bevor ich die Squid-Konfiguration abschließen kann. Mein Netzwerkschema sieht wie in dieser Abbildung aus:Bildbeschreibung hier eingeben Was mache ich falsch?

verwandte Informationen