标签: nat

Ping: sendmsg: 在 Arch GNU/Linux 上安装 iptables 后不允许操作错误

昨天我买了一台新电脑作为我的家庭服务器,HP Proliant 微服务器。在其上安装 Arch Linux,内核版本为 3.2.12。

安装 iptables(1.4.12.2 - 当前版本 AFAIK)并将net.ipv4.ip_forward密钥更改为 1,并在 iptables 配置文件中启用转发(并重新启动)后,系统无法使用其任何网络接口。Ping 失败

Ping: sendmsg: operation not permitted
Run Code Online (Sandbox Code Playgroud)

如果我完全删除 iptables,网络就可以了,但是我需要将 Internet 连接共享到本地网络。

eth0 - 集成在主板上的 WAN 网卡(Broadcom NetXtreme BCM5723)。

eth1 - pci-express 插槽中的 LAN NIC(英特尔 82574L 千兆网络)

由于它在没有iptables的情况下工作(服务器可以访问互联网,并且我可以从内部网络使用ssh登录),我认为它与iptables有关。我对 iptables 没有太多经验,所以我使用这些作为参考(当然彼此分开......):

wiki.archlinux.org/index.php/Simple_stateful_firewall#Setting_up_a_NAT_gateway

revsys.com/writings/quicktips/nat.html

howtoforge.com/nat_iptables

在我以前的服务器上,我使用 revsys 指南来设置 nat,效果很好。

有没有人经历过这样的事情?我究竟做错了什么?

networking nat iptables arch-linux

19
推荐指数
2
解决办法
10万
查看次数

人们真的会在他们的私有网络上使用公共 IPv6 地址吗?

我一直在阅读Debian 系统管理员手册,我在网关部分看到了这段话:

...请注意,NAT 仅与 IPv4 及其有限的地址空间相关;在 IPv6 中,地址的广泛可用性通过允许所有“内部”地址在 Internet 上直接路由(这并不意味着内部机器可以访问,因为中间防火墙可以过滤流量)大大降低了 NAT 的实用性。

这让我想到... IPv6 仍然有一个私有范围。请参阅:RFC4193。公司真的会用公共地址设置他们所有的内部机器吗?这就是 IPv6 的工作方式吗?

nat routing ip ipv6 ip-address

19
推荐指数
4
解决办法
8062
查看次数

Linux 上的负载平衡和 NAT-ing 多个 ISP 连接

我有来自两个不同 ISP 的两个 Internet 连接,我需要平衡两个 ISP 之间来往于我的网络的流量。我正在使用 Debian GNU/Linux。

我的设置是这样的 -

eth0 (192.168.0.0/24) -- 本地网络

eth1 (192.168.1.0/24) -- ISP #1

eth2 (192.168.2.0/24) -- ISP #2

我的本地网络通过 eth0 连接到这台服务器,并且这个盒子是 LAN 中所有机器的 DHCP 服务器兼网关。

服务器需要在两个 ISP 之间进行负载平衡,还需要进行 NAT-ing。

我已经遵循了lartc.org上的路由说明,但我仍然需要正确执行 NAT 的说明。

任何帮助将不胜感激。

PS - 我知道 pFsense,但我需要使用 Linux。

networking linux local-area-network nat load-balancing

17
推荐指数
1
解决办法
4万
查看次数

VMWare 网络模式(NAT 或桥接)?

我在 Mac 的虚拟机中运行 Windows 7。我主要将 Windows 7 用于 Visual Studio,也用于托管 IIS 的开发安装。我需要两件事,我不确定需要什么网络模式......

  1. 我需要能够从 Mac 通过 HTTP 访问 IIS 服务器(在 VM 上运行)。

  2. 虚拟机上的 Web 浏览器需要能够访问 Internet。

    有什么建议?谢谢。

networking nat bridge vmware-fusion

17
推荐指数
1
解决办法
8万
查看次数

使用单个公共 IP 地址在 NAT 后面暴露多个服务器

这是一个关于 NAT 和 DNS的规范问题

我目前正在尝试建立一个带有 DMZ 的网络,该网络包含一个 Web 服务器和一个电子邮件服务器,通过网络地址转换 (NAT) 防火墙与 Internet 分开。

我已经安装了具有以下接口的 NAT 防火墙:

WAN - x.x.x.x (redacted public IP address)
DMZ - 192.168.124.5/24
LAN - 192.168.123.5/24
Run Code Online (Sandbox Code Playgroud)

在我的 DMZ 上,我有两个主机:

Web server - 192.168.124.30
E-mail server - 192.168.124.32
Run Code Online (Sandbox Code Playgroud)

我知道我需要为example.com域配置 DNS来解析example.com和解析mail.example.com公共 IP 地址。

我希望我的 NAT 防火墙将所有传入请求转发到example.com位于 192.168.124.30 的 Web 服务器,并将所有传入请求转发到mail.example.com位于 192.168.124.32 的电子邮件服务器。我在 NAT 防火墙的配置中看到了“端口转发”功能,但似乎无法实现我正在寻找的功能。

networking domain-name-system firewall nat

17
推荐指数
2
解决办法
4万
查看次数

手机IP地址是如何分配的?

当我的手机通过信号塔及其 GPRS 网关访问网站时,NAT 会确保这些网站收到公共 IP。使用单塔的所有电话是否具有相同的 IP?

  • 如果,那么大量接收到的 HTTP 数据如何路由到正确的手机?网站如何区分手机访问者?是否有额外的 HTTP 标头数据?
  • 如果没有,那么这些唯一的 IP 是如何分配的?基于可用性或位置?每个塔都会有一组固定的 IP 吗?

nat internet mobile-devices ip-address

15
推荐指数
1
解决办法
4万
查看次数

如何使用 dnsmasq 配置静态通配符子域

我在 NAT 后面有一个网络,有几台机器。

这些机器是:

  • 路由器 - NAT、dnsmasq、转发 - 直接连接到 inet
  • 服务器 - 运行 ssh、www 和其他一些东西
  • 客户端 - 在服务器上做事

我也有 mydomain.com。
server.mydomain.com 指向我的连接的 IP(单一 IP),它是路由器,它将端口转发到服务器。

服务器,有一个 httpd 运行,它基于 vhosts 为不同的站点提供服务。
所以我有site1.server.mydomain.com,site2..

问题是所有流量都通过路由器,当我检查日志时,我总是看到路由器的所有 IP(因此很难看出谁在使用 while(1) 运行脚本)。

我只想使用 ServerAlias site1.server.local,但大多数站点都有一个根 URL 保存在其他 URL 之上,所以我不能这样做。

我的解决方案是告诉 dnsmasq 以某种方式用服务器的 IP 回答 *.mydomain.com。

这有可能吗?

linux nat dnsmasq

15
推荐指数
1
解决办法
2万
查看次数

什么是严格、适度和开放的 NAT?

国内路由器上的 NAT 选项通常配置为严格。这是什么意思?怎么办中等开放办?端口转发/DMZ 访问在严格的情况下正常工作,那么为什么要打扰其他两个呢?

查看路由器表明这会影响防火墙。当花费大量时间使用 Cisco/iptables 来保护网络时,这样一个简单的非描述性答案只会令人恼火,并且没有任何线索说明这对防火墙有什么影响。

请有人能解释一下。

router nat open

15
推荐指数
1
解决办法
7万
查看次数

如何配置自定义 NAT 以在 Amazon VPC 中使用

我有一个我希望用作 NAT 实例的 Ubuntu 机器(除其他外)。我宁愿避免使用 Amazon 提供的 NAT AMI,而是自己配置 NAT。

目前,我的主机只有一个网络接口(如http://docs.amazonwebservices.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html 中所示)。

我是否可以将我的 Ubuntu 主机配置为 Amazon 网络中其他主机的 NAT 实例?

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
    pkts      bytes target     prot opt in     out     source               destination         
       5      454 MASQUERADE  all  --  *      eth0    0.0.0.0/0            0.0.0.0/0  
Run Code Online (Sandbox Code Playgroud)

我尝试在 Ubuntu 主机 (10.200.0.51) 中配置 NAT 规则。我的第二台主机位于不同的网络 (10.200.10.41/24) 上。所以我写道:

route add -net 10.200.0.0 netmask 255.255.255.0 dev eth0 # So I can reach 10.200.0.51
route add default gw 10.200.0.51
Run Code Online (Sandbox Code Playgroud)

但是机器失去了连接。

我对亚马逊中 NAT 实例和路由的使用有什么误解?

nat iptables amazon-ec2

15
推荐指数
3
解决办法
3万
查看次数

创建具有两个 Internet 连接和一个 LAN 连接的多宿主 linux 负载平衡器

好的,...这可能已经得到了回答,不幸的是,我没有找到任何看起来像是解决方案的东西。

我看过这些页面,他们有一些有用的信息,但不是完整的解决方案:

  1. Linux 上的负载平衡和 NAT-ing 多个 ISP 连接
  2. 两个 Internet 连接和 1 个 NIC,可能吗?
  3. Linux 拆分访问(具有负载平衡的多个 Internet 连接)
  4. linux防火墙+负载均衡ISP连接

我将使用 Debian 8、Ubuntu 16.04 Desktop 或 Ubuntu 16.04 Server(老实说,很可能是 Debian)。

好的,所以我将安装三个网卡,两个千兆位和板载 100 mbps LAN 连接。ISP 连接将通过两个网卡上的 PPPoE 身份验证使用千兆 LAN 卡(如果这甚至可能,否则我将在 DSL 调制解调器上使用非桥接模式)。两个网络都将分配一个静态 IP。目前(这将改变)主要连接有一组五个。我需要将来自这些 IP 地址之一的流量路由到网络上的正确服务器。

以下是我的问题:

  1. 我该如何设置?我是否使用 NATing、IP Chans、IP Masquerading、Routing 等...?
  2. 如何将从外部进入系统的流量路由到网络上的特定 IP 地址?

请温柔点,这是我第一次尝试过这样的事情:)。

编辑 1

忘记添加网络拓扑:

内部网络布局

编辑 2

刚刚意识到一些事情......为了进行 PPPoE 身份验证,我将不得不强制对特定接口上的凭据进行身份验证。这是怎么做的?

我在这里发布了这个问题:

创建具有两个 Internet 连接和一个 LAN 连接的多宿主 linux 负载平衡器

更新 1

仍然无法让多跳循环工作。我尝试按照以下网站中列出的步骤进行操作,但没有成功:

  1. Linux 上的负载平衡和 NAT-ing 多个 ISP 连接
  2. Linux …

networking nat iptables load-balancing linux-networking

15
推荐指数
1
解决办法
3万
查看次数