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 地址。我做错了什么?

提前致谢,

马库斯

相关内容