用於路由的 Dnsmasq 和 Iptables

用於路由的 Dnsmasq 和 Iptables

我使用帶有兩個乙太網路連接埠的 Raspberry Pi 作為路由器。網路看起來像這樣。

"Internet" <--(…)--> Fritz!Box <--(172.16.x.y)--> [eth1, dhcp] Raspberry Pi [eth0, static] <--(192.168.178.z)--> "Switches, PCs, etc."

Raspberry Pi 運行的是 raspbian。它可以連接互聯網、更新、安裝軟體等。

rc.local 看起來像這樣

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi
#
# iptables-Regeln zum Routing von eth0 auf eth1
lan_if=eth0
wan_if=eth1
# Loopback-Traffic sollte aktiv sein.
iptables -A INPUT -i lo -j ACCEPT
# Traffic von LAN-Seite aus aktzeptieren
iptables -A INPUT -i $lan_if -j ACCEPT
###################################
# ROUTING #########################
###################################
# eth1 ist das WAN
# eth0 ist das LAN
# Aufgebaute Verbindungen zulassen
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Was ist "Masquerade"
iptables -t nat -A POSTROUTING -o $wan_if -j MASQUERADE
# Weiterleitung
iptables -A FORWARD -i $wan_if -o $lan_if -m state --state RELATED,ESTABLISHED -j ACCEPT
# Ausgehende Verbindungen von der LAN-Seite zulassen
iptables -A FORWARD -i $lan_if -o $wan_if -j ACCEPT
#
exit 0

dnsmasq.conf:

interface=eth0
dhcp-range=192.168.178.2,192.168.178.254,12h
dhcp-host=28.D2.44.5B.99.A9,permutare,192.168.178.55,12h
dhcp-option=3,192.168.178.1

接口:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# WAN
auto eth1
  iface eth1 inet dhcp
#  address 172.16.0.2
#  netmask 255.255.0.0
#  gateway 172.16.0.1
#  dns-nameservers 172.16.0.1

# LAN
auto eth0
  iface eth0 inet static
  address 192.168.178.1

“resolvconf”已安裝。

「192.168.178.z」網路中的電腦無法存取網際網路或「172.16.xy」網路中的電腦。不過,他們可以解析以前從未 ping 過的網站的 IP 位址。我究竟做錯了什麼?

先謝,

馬庫斯

相關內容