Linux 防火墙配置

Linux 防火墙配置

我已经阅读了其他帖子,并在谷歌上搜索过,但我仍然卡住了……希望新的帖子能有所帮助

我正在尝试在无线路由器和外部调制解调器之间设置 Linux (Fedora 14) 防火墙。我已经组装了机器,它有 2 个网卡,并且安装了 Fedora 并准备就绪。

我已经安装了 DHCP 和 DNS,但是尚未配置它们...

我该如何配置机器以将流量从 eth0 传递到 eth1?我认为如果我能完成这第一步,我就可以运行 iptables。

我希望这个问题是有意义的。

答案1

这是我在 ubuntu 机器上防火墙的基本模板,我认为这在 fedora 上也适用

iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -F

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

我将其保存在 /etc/init.d/ 中的一个文件中,并创建指向 /etc/rc2.d 的符号链接,将模式更改为 +x。您还可以选择丢弃转发到 eth1 的所有数据包并仅打开选定的端口。

对于 DHCP,以下是一个基本模板,将其添加到您的 dhcpd.conf 中

subnet  192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.30 192.168.0.250;
option routers 192.168.0.10;
option broadcast-address 192.168.0.255;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.0.10;
}

host YourServer {
hardware ethernet <your-internal-nic-MAC-address>;
fixed-address 192.168.0.10;
}

至于 DNS,请在 /etc/resolv.conf 和 /etc/bind/named.conf.options 中插入服务提供商的 DNS IP。您也可以使用 Google 的公共 DNS IP 或 OpenDNS。

编辑

你的 /etc/network/interfaces 上应该有以下内容

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet static
  address 192.168.0.10
  netmask 255.255.255.0
  network 192.168.0.0
  broadcast 192.168.0.255

由于您的 eth0 处于 DHCP 状态,并且我假设它已连接到调制解调器(互联网接口),因此它将从调制解调器请求 IP 和网关地址。eth1 将是您的内部网络接口,并且处于静态 IP 状态。

相关内容