如何在ubuntu服务器14.04 LTS上配置多个NIC卡并连接到路由器?

时间:2015-01-07 10:06:09

标签: linux proxy firewall router ubuntu-server

我有一台HP硬盘服务器,我在其上安装了Ubuntu服务器14.04 LTS。服务器有两个以太网卡。 我安装了Squid代理服务器,我在我的ubuntu服务器上使用iptables作为防火墙。 现在我想将我的服务器放在路由器和交换机之间。这是因为我希望每个人都通过代理服务器来过滤一些网站。

我在ubuntu服务器上配置两块网卡时遇到一些困难。 它有两个接口em1和em2,我想为其分配静态IP地址。这是我到目前为止配置的内容:

主网络接口

auto em1
iface em1 inet static
address 192.168.1.30
netmask 255.255.255.0
gateway 192.168.1.2
network 192.168.1.0
broadcast 192.168.1.255

辅助网络接口

auto em2
iface em2 inet static
address 192.168.1.31
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255

我读了一些帖子,说不应该是第二个接口中的网关条目,所以操作系统知道要使用哪个接口。

我目前的网络架构如下:

FSI - >我的CISCO路由器(192.168.1.1) - >我的Ubuntu服务器(包含两个NIC卡,运行squid代理和iptables防火墙) - >我的开关 - >一些笔记本电脑

问题是笔记本电脑无法连接到互联网。我不明白为什么。我禁用了防火墙和代理,但我仍然无法连接。

我应该在两块NIC卡之间配置一些路由规则,还是应该使用FORWARD的iptables链?我该如何解决这个问题?

感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

我的两个网络接口需要位于不同的网络/子网IP范围内。例如,我em1上的192.168.1.2em2上的192.168.2.1。然后,我将em1路由器em2连接到开关。我给了我的笔记本电脑192.168.2.xxx IP(服务器的IP除外)。理想情况下,我在Ubuntu服务器上设置DHCP服务器,将IP分发给客户端,因此我不必手动设置它们。

然后我使用iptables链在FORWARD规则中设置转发(除非我想强制所有流量通过代理,然后我只是设置代理)。

工作配置如下:

# The primary network interface
auto em1  
iface em1 inet static  
address 192.168.1.2  
netmask 255.255.255.0  
gateway 192.168.1.2  
network 192.168.1.0  
broadcast 192.168.1.255  


# The secondary network interface
auto em2
iface em2 inet static
address 192.168.2.1
network 192.168.2.0
netmask 255.255.255.0
broadcast 192.168.2.255

和iptables如下:

-P INPUT ACCEPT
-P FORWARD DROP
-P OUTPUT ACCEPT
-A FORWARD -i em1 -o em2 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i em2 -o em1 -j ACCEPT
-A FORWARD -j LOG

配置笔记本电脑时,请记住网关应该是服务器的IP:192.168.2.1,这是我服务器的IP。