在 Ubuntu 上设置网桥/防火墙

在 Ubuntu 上设置网桥/防火墙

我一直在尝试在 Ubuntu 上配置桥接,但一直碰壁。我是 Linux 新手,但是一名拥有 10 年 Windows 使用经验的 IT 专业人士。因此,我理解这些概念,但就是无法让互联网上提到的步骤对我有用。

我需要的是能够将我的 eth1 桥接到 eth0。我的 Ubuintu 10.4 LTS 盒子有两个适配器 eth0 和 eth1,我想用它将我的 Windows 7 PC 连接到互联网(和外部网络)。eth0 连接到外部网络并具有 DHCP。eth1 使用交叉电缆连接到 Windows 7。

以下是 ifconfig 的输出:

eth0      Link encap:Ethernet  HWaddr ~~~~~~~~~~~
          inet addr:10.128.4.250  Bcast:10.128.255.255  Mask:255.255.0.0
          inet6 addr: fe80::203:47ff:fecf:a008/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13936 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3277 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1953127 (1.9 MB)  TX bytes:3887075 (3.8 MB)

eth1      Link encap:Ethernet  HWaddr ~~~~~~~~~~~~~~ 
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:480 (480.0 B)  TX bytes:480 (480.0 B)

这是我的 /etc/network/interface(由于我尝试了很多方法但都没有用,所以恢复到原来的状态):

auto lo
iface lo inet loopback

我已经通过下载并安装 bridge-utils 安装了它,并且可以使用brctl。所以我知道我需要定义 br0,我已经这样做了,但它从来没有起作用。

您能告诉我需要采取什么步骤才能使其工作吗?

提前感谢阿里

答案1

让你的 Ubuntu/etc/network/interfaces看起来像这样:

# Interfaces to bring up automatically
auto lo br0

# Loopback
iface lo inet loopback

# Physical interfaces
iface eth0 inet manual
iface eth1 inet manual

# Bridge
iface br0 inet dhcp
    bridge_ports eth0 eth1

然后重新启动。

您的 Ubuntu 机器现在通过接口直接连接到互联网br0,其网络配置通过 DHCP 分配给它(我假设您的 ISP 正在运行 DHCP)。您的 Windows 7 PC 也直接连接到互联网,因为它已插入网桥。您需要确保在两台机器上都配置并运行了适当的防火墙。

答案2

共享互联网连接的标准解决方案是 NAT,而不是桥接。

尽管如此,使用一些更高级的工具来配置这种网络通常是一个好主意。标准的 Ubuntu 工具是ufw。它有一些好的文档。 我最喜欢的是岸墙

答案3

这完全取决于你想学什么,iptables 是 Linux 中最常用的防火墙软件,但 Ubuntu 使用更简单的 ufw。

使用 iptables,你应该至少执行一个包含以下内容的脚本:

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE

iptables --append FORWARD --in-interface eth1 -j ACCEPT

激活前向位也非常重要:

echo 1 > /proc/sys/net/ipv4/ip_forward

来源:http://www.yolinux.com/TUTORIALS/LinuxTutorialIptablesNetworkGateway.html

我认为使用 ufw(简单防火墙)更简单,尽管我从未使用过它:

https://help.ubuntu.com/8.04/serverguide/C/firewall.html

相关内容