如何在 ubuntu 服务器 14.04 LTS 上配置多个 NIC 卡并连接到路由器?
How to configure multiple NIC cards on ubuntu server 14.04 LTS and connect to router?
我有一个 HP 硬盘服务器,我在上面安装了 Ubuntu 服务器 14.04 LTS。服务器有两个以太网卡。
我安装了 Squid 代理服务器,并在我的 ubuntu 服务器上使用 iptables 作为防火墙。
现在我想把我的服务器放在路由器和交换机之间。这是因为我想让大家通过代理服务器过滤一些网站。
我在 ubuntu 服务器上配置两张 NIC 卡时遇到了一些困难。
它有两个接口 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
我读了一些帖子,说第二个界面中不应该有网关条目,这样 OS 知道要使用哪个界面。
我目前的网络架构如下:
FSI --> 我的 CISCO 路由器 (192.168.1.1) --> 我的 Ubuntu 服务器(包含两个 NIC 卡并运行 squid 代理和 iptables 防火墙) --> 我的交换机 --> 一些笔记本电脑
问题是笔记本电脑无法连接到互联网。我不明白为什么。我禁用了防火墙和代理,但仍然无法连接。
我应该在两块网卡之间配置一些路由规则还是应该使用iptables的FORWARD链?我该如何解决这个问题?
感谢您的帮助。
我的两个网络接口需要在不同的 networks/subnet IP 范围内。因此,例如,我在 192.168.1.2
上有 em1
,在 192.168.2.1
上有 em2
。然后我将 em1
连接到 路由器 并将 em2
连接到 交换机 。我给了我的笔记本电脑 192.168.2.xxx
个 IP(服务器的 IP 除外)。理想情况下,我在 Ubuntu 服务器上设置了一个 DHCP 服务器来将 IP 分发给客户端,这样我就不必手动设置它们了。
然后我使用 FORWARD
链在 iptables
规则中设置转发(除非我想强制所有流量都通过代理,否则我只设置代理)。
工作配置如下:
# 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。
我有一个 HP 硬盘服务器,我在上面安装了 Ubuntu 服务器 14.04 LTS。服务器有两个以太网卡。 我安装了 Squid 代理服务器,并在我的 ubuntu 服务器上使用 iptables 作为防火墙。 现在我想把我的服务器放在路由器和交换机之间。这是因为我想让大家通过代理服务器过滤一些网站。
我在 ubuntu 服务器上配置两张 NIC 卡时遇到了一些困难。 它有两个接口 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
我读了一些帖子,说第二个界面中不应该有网关条目,这样 OS 知道要使用哪个界面。
我目前的网络架构如下:
FSI --> 我的 CISCO 路由器 (192.168.1.1) --> 我的 Ubuntu 服务器(包含两个 NIC 卡并运行 squid 代理和 iptables 防火墙) --> 我的交换机 --> 一些笔记本电脑
问题是笔记本电脑无法连接到互联网。我不明白为什么。我禁用了防火墙和代理,但仍然无法连接。
我应该在两块网卡之间配置一些路由规则还是应该使用iptables的FORWARD链?我该如何解决这个问题?
感谢您的帮助。
我的两个网络接口需要在不同的 networks/subnet IP 范围内。因此,例如,我在 192.168.1.2
上有 em1
,在 192.168.2.1
上有 em2
。然后我将 em1
连接到 路由器 并将 em2
连接到 交换机 。我给了我的笔记本电脑 192.168.2.xxx
个 IP(服务器的 IP 除外)。理想情况下,我在 Ubuntu 服务器上设置了一个 DHCP 服务器来将 IP 分发给客户端,这样我就不必手动设置它们了。
然后我使用 FORWARD
链在 iptables
规则中设置转发(除非我想强制所有流量都通过代理,否则我只设置代理)。
工作配置如下:
# 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。