Articles of 路由

带有两个网卡(局域网或互联网)的Linux路由与NAT和桥接虚拟机

我的设置: 此设置中只有一台物理机器,即具有两个networking适配器的虚拟机主机系统(VM)。 一个NIC(eth0)连接到内部networking(LAN子网,例如10.xxx/24),并用于内部通信。 另一个NIC(eth1)连接到公共互联网(它具有configuration的公共可路由IP)。 这个连接将被用于端口转发公共互联网stream量到虚拟机的内部IP(传入stream量),并允许虚拟机通过NAT访问公共互联网(传出stream量)。 虚拟机使用LAN-Subnet中的IP地址(10.xxx/24,与eth0相同) 我已经为虚拟机(vnet0,vnet1,…)和LAN-NIC(eth0)的虚拟networking接口configuration了桥接设备(br0)。 这意味着: br0在局域网子网(10.xxx/24)中有一个IP地址, eth0被添加到网桥 vnet0,vnet1,…(由VM使用)dynamic添加到网桥 问题 局域网内的通信工作正常。 此外,VM主机可通过公共IP访问,并具有互联网接入。 我的问题是允许虚拟机访问公共互联网的NATconfiguration。 我尝试使用一个简单的(S)NAT规则: iptables -t nat -I POSTROUTING -s 10.xxx/24 ! -d 10.xxx/24 -j SNAT –to-source yyy102 而yyy102是第二个NIC(eth1)的公共可路由IP。 我发现我需要启用“ip_forward”和“bridge-nf-call-iptables”: echo 1 > /proc/sys/net/ipv4/ip_forward echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables 否则桥接的包不会被iptables处理。 现在来自虚拟机的数据包似乎经历了以下的iptables连锁: “FORWARD”(正规) – 我接受他们(-j ACCEPT,柜台上升) “PREROUTING”(NAT) – 我接受他们(政策ACCEPT,柜台上升) “POSTROUTING”(NAT) – 它们符合SNAT规则 但不是所有的数据包似乎到达PRE / POSTROUTING出于任何原因,我无法弄清楚到目前为止。 […]

如何在ESXi虚拟机上获取公共IP?

我们有一个托pipe服务提供商的专用服务器。 我们正在运行ESXi 6.0。 服务器有一个单一的公共IP,目前正用于pipe理界面。 该提供商还为我们分配了一个/ 29块,以便我们的虚拟机可以拥有公共IP。 我们只能使用1个物理网卡,我认为这是造成一些问题。 他们告诉我们,来自这个块的IP的默认网关应该被设置为ESXi服务器的IP地址。 每当我们尝试configuration这个,虚拟机抱怨说网关是在一个不同的子网,这是。 他们已经指出,由于networkingconfiguration的方式,我们需要通过ESXi服务器的IP路由来自他们分配给我们的块中的任何IP。 据我所知,ESXi不支持路由,这使得这是不可能的。 我们询问他们是否可以将该块(甚至是单个IP​​)分配给服务器,以便它们与ESXi IP相同,以便我们可以在VM上使用它们,但是他们告诉我们他们的networking设置不允许为了这。 理想情况下,我们希望能够将这些公共IP分配给我们的虚拟机,以便它们可以从互联网直接访问。 有没有办法做到这一点? 我们错过了什么吗? 如果以上是不可能的,有没有办法让我们做端口转发/其他任何东西,以便我们可以从互联网上访问我们的虚拟机? 我们并没有在ESXi中更改任何networkingconfiguration,因此我们仍然只有一个pipe理networking和虚拟机networking连接在一起的vSwtich。 此vSwitch连接到服务器上的一个物理网卡,将所有IP分配给该物理网卡。 很高兴提供任何额外的信息,如果需要。

在pfSense子网和IPSec VPN之间路由

我有一个pfSense路由器,它是站点到站点IPSec VPN的端点。 在pfSense中,主LAN接口是10.0.2.1/24,并且具有虚拟IP 10.0.125.1/24 IPSec阶段2将10.172.0.0/16(从另一端)连接到10.0.125.1/24networking。 现在我想从另一端连接到一个IP,但是从10.0.2.0/24networking的一个IP连接 所以所需的连接是10.0.2.27到10.172.0.119 我尝试添加10.0.125.1作为pfSense中的网关,并将所有stream量路由到另一个networking上,当我这样做时,我可以ping pfSense主机的另一端,但不能从10.0.2.0/24networkingping通。 我试图添加出站NAT,但这也没有帮助。 我究竟做错了什么?

在HAProxy中注册URL

我正在尝试为haproxy构build一个reg exp,它将匹配第二个URL并将其指向与第一个URL不同的acl: mysite.com/path/ mysite.com/path/something_random 问题是,我的第一个reg exp匹配上面的两个url,它应该只匹配第二个。 我找不到更多关于haproxy正则expression式格式的文档,所以我甚至不知道在哪里引用我将用于匹配的reg exp格式。 可以注册专家的帮助我,我是新来的这个谢谢。 acl filebrowser_route path_reg ^/path/.* acl filebrowser url_beg /path

基于HTTP数据包内容的第3层路由

我正在运行HTTP代理服务,并希望根据HTTP数据包的内容 (例如HTTP标头 )将stream量路由到各种 第3层 TUN 。 我正在使用BSD和Linux来做这件事,但是在做路由决定时(至less不用编写我自己的内核补丁),看起来它们都不能做第7层的分类。 那么,是否有可能根据Linux或BSD中的HTTP数据包的内容做出第3层 路由决策 ? 而且,如果没有,任何基于Unix的操作系统或发行版都有这个能力吗?

用iptables用NAT标记数据包

我必须为路由器编写bash脚本来控制给定用户在给定域名上的带宽限制。 为此,我使用iptables将从受限域传入的数据包标记为专用networking中的用户IP地址。 与每对夫妇user_ip / domain_ip我有一个关键,我可以标记数据包。 我将这些规则添加到mangle表中,如下所示: $iptables -t mangle -A PREROUTING -p tcp -d $userIp -s $restrictedDom -j MARK –set-mark $id $iptables -t mangle -A PREROUTING -p tcp -d $userIp -s $restrictedDom -j RETURN 我的NAT设置在NAT表(eth0是我的互联网接口,我使用Tap0的Lan接口)是 $iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 我的Lan用户的数据包应该与mangle表中的规则相匹配,但是没有被捕获。 例如:( PREROUTING CHAIN中的table mangle)例如,用于在Lannetworking中为用户192.168.0.2标记来自slashdot.org的数据包。 Chain PREROUTING (policy ACCEPT 14858 packets, […]

通过特定的接口路由应用程序stream

第一个问题在这里,所以请容易: 我有一个debian Linux 5.0服务器与两个公共接口。 我想通过一个接口从应用程序的一个实例路由出站stream量,通过第二个接口路由第二个实例的出站stream量。 有一些挑战: 应用程序的两个实例都使用相同的协议 应用程序的两个实例都可以访问整个互联网(不能基于destnetworking路由) 我无法更改应用程序的代码 我不认为一种典型的负载均衡所有stream量的方法是行之有效的,因为在出​​站stream量中访问的目标服务器相对较less,所有的stream量确实需要在这些相对较less的服务器上相当均匀地分配。 我可以运行两个虚拟化的服务器,并绑定到不同的接口,但我正在寻找一个更简单的解决scheme,也许使用iproute或iptables? 任何想法对我? 在此先感谢 – 我很乐意回答任何问题。

通过公共接口或VPN路由?

我在两个办公室之间有一个站点到站点的VPN。 Office A托pipeOffice B想要访问的Web服务。 Web服务可从公共Internet( http://www.example.com )和内部networking( http://webserver.domain.local )访问。 哪个接口的访问会更有效率的使用? 在tracert中使用内部系统看起来更快,因为它只有两跳,但是我们都知道在两个VPN端点之间的路由就像使用公共接口一样多。 没有传递身份validation,所以在NTLM或其他方面没有任何优势。

直接连接的子网与ASA-5510之间的问题路由

这是我一直在努力的一个问题,看似简单的答案(并非所有的IT问题?)。 这就是在两个直接连接的子网之间通过ASA传输stream量的问题 虽然我知道最好的做法是有互联网 – >防火墙 – >路由器,在许多情况下,这是不可能的。 例如,In有一个带有两个接口的ASA,名为OutsideNetwork(10.19.200.3/24)和InternalNetwork(10.19.4.254/24)。 你可以期望Outside能够达到10.19.4.1,或者至less达到10.19.4.254,但是ping接口只会带来坏消息。 命令的结果:“ping OutsideNetwork 10.19.4.254” 键入转义序列以中止。 发送5个100字节的ICMP回声到10.19.4.254,超时时间为2秒: ????? 成功率为0%(0/5) 当然,你会认为你可以添加一个静态路由,无济于事。 [错误]路由Outsidenetwork 10.19.4.0 255.255.255.0 10.19.4.254 1 不能添加路由,连接路由存在 在这一点上,你可能会有一个NAT或访问列表的问题。 访问列表Outsidenetwork_access_in扩展许可ip任何任何 访问列表InternalNetwork_access_in扩展许可证ip任何任何 没有dynamicNAT(或静态NAT),并允许Unnattedstream量。 当我尝试ping上述地址(来自Outsidenetwork的10.19.4.254)时,从0级日志logging(debugging)中得到这个错误信息。 从NP Identity Ifc:10.19.200.3/0到Outsidenetwork:10.19.4.1/0,路由无法findicmp的下一跳 这导致我设置相同的安全stream量许可 ,并在两个接口之间分配相同的,更less和更多的安全编号。 我可以忽略明显的东西吗? 是否有命令设置分类高于连接路由的静态路由?

这个路线图修改是什么意思?

我已经inheritance了防火墙/网关服务器的pipe理职责,我想了解rc.local中的特定静态路由设置是什么意思: … route add 123.123.123.123/30 10.10.3.14 route add 123.123.123.123/32 10.10.3.13 … 显然,IP地址已经被改变来保护无辜者。 这是什么意思,为什么这样路线?