寻找一些答案;) 我在网关上运行Zentyal。 网关也是一个OpenVPN客户端,对于我用完了另一个国家的服务器。 接口是这样的: 外部:eth1(来自调制解调器192.168.1.2的dhcp)内部:eth0(静态10.1.1.1)OpenVPN:tun0(来自OpenVPN服务器10.7.0.6) 我连接了VPN,它的function。 我可以ping通服务器 # ping 10.7.0.1 从网关机器。 这些是我在服务器上的规则,到目前为止他们工作得很好 iptables -t nat -A POSTROUTING -i tun0 -o eth0 -j SNAT –to-source # Generated by iptables-save v1.4.8 on Sat Mar 23 04:41:56 2013 *mangle :PREROUTING ACCEPT [2036011512:705237252333] :INPUT ACCEPT [332186284:78285843071] :FORWARD ACCEPT [1703824348:626951360931] :OUTPUT ACCEPT [405392399:436227187419] :POSTROUTING ACCEPT [2109216747:1063178548350] COMMIT # Completed on […]
我遇到了configuration两个鱿鱼服务器的问题。 我有以下计划 – 主要思想是通过父鱿鱼从rackspace和amazon下载所有文件,并将所有文件存储在他的caching中。 在main_squid服务器上configuration了PBR(iptables + ip route)。 所有的数据包都经过了收到请求的相同频道 # ip ru sh 0: from all lookup local 1000: from all fwmark 0x3e8 lookup ISP1 2000: from all fwmark 0x7d0 lookup ISP2 3011: from all fwmark 0xbc3 lookup ISP3 32762: from xxx.xxx.xxx.62 lookup ISP1 32763: from yyy.yyy.yyy.239 lookup ISP2 32764: from zzz.zzz.zzz.10 lookup ISP3 32766: […]
我正在开发一个软件产品,使用networkingfunction,如设备绑定多归属协议。 与任何协议开发一样,testing代码需要考虑延迟,打包等。 因此,我试图创build一个虚拟networking环境,在这个环境中我可以做可控的,可重复的testing。 我要testing的两个主要特征(即测量性能,稳定性等): 客户端使用多个端点的SCTP多宿主关联。 多个设备的设备绑定。 如上所述,我希望能够在networking中的节点之间进行stream量控制,以及通过stream量过滤来模拟传统的NAT等。 示例testing: 这个testing应该模拟一个带有四个网卡(wifi,usb,bluetooth,ethernet)的客户端通过一个单一接口的服务器在互联网上进行通信。 我想创build一个模拟此布局的虚拟networking。 一个设备模拟一个WAN节点,另外四个设备代表客户端接口。 客户端接口与服务器接口之间的带宽限制为1 Mb / s,封装损耗为1%。 四个客户端接口的绑定设备被创build。 iperf服务器绑定到WAN地址,客户端绑定到绑定设备地址并连接到WAN服务器。
我无法通过使用Xen和libvirt运行的虚拟机访问networking。 我一直在尝试不同的东西,在网上阅读类似的post几天,但我真的坚持在这一点上。 如果有人能提供一些见解,将不胜感激。 我有一个虚拟机,我在主机上运行一个网桥设置为br0和192.168.60.0/24子网上的接口eth0。 libvirtconfigurationxml的networking部分是: <interface type='bridge'> <mac address='ff:a0:d1:e5:07:de'/> <source bridge='br0'/> <script path='/etc/xen/scripts/vif-bridge'/> <model type='virtio' /> </interface> 当我启动VM时,在主机上创build一个vif6.0接口,并且ifconfig输出是: br0 Link encap:Ethernet HWaddr 00:A0:D1:C3:07:DE inet addr:192.168.60.33 Bcast:192.168.60.255 Mask:255.255.255.0 inet6 addr: fe80::2a0:d1ff:fee5:7de/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:13 errors:0 dropped:0 overruns:0 frame:0 TX packets:40 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3570 (3.4 KiB) […]
请原谅(可能)noob问题,但我对Linuxnetworking很新。 我已经花了几天的时间在网上search我的问题的答案,但无法find一个,所以我决定在这里发布一个问题,因为我知道很多熟练的专业人士访问这个网站。 无论如何,在实际的问题:我有两个服务器可用。 我们称之为Server-A和Server-B。 我使用OpenSWAN在Server-A和Server-B之间build立了一个VPN隧道。 我为服务器A分配了源IP:192.168.2.1,为服务器B分配了172.16.2.1。 我成功地能够从Server-A ping 172.16.2.1,从Server-B ping 192.168.2.1,所以我假设我已经正确设置了VPN,并且两台服务器都能够通信。 现在,在服务器-A,我想能够做到这一点: 当我通过libcurl发出一个HTTP请求,像这样: curl http://checkip.dyndns.com/ 我想看看通过服务器的公共IP地址发出的请求。 但是,当我发出: curl –interface 192.168.2.1 same_url_as_in_the_above_request 我希望请求通过VPN,为了使用服务器B的Internet访问,所以我希望看到服务器B的公共IP地址在checkip响应中列出。 现在,当我发出这样的请求时,我收到以下错误: curl(7):无法连接到主机 我能做些什么来达到这个目标,还是完全走错了路? 所有我想要做的就是使用服务器-A从服务器-A的Internet访问只访问某些网站,或者当服务器-A的ISP由于某种原因而closures时。 我不需要自动化,只是希望能够在需要时手动执行此操作。 我想我需要做一些路由或NAT,但我不知道该怎么做 – 过去几天我已经阅读了很多资料,但是我很难弄清楚确切的iptables和/或路由命令应该看起来像,如果在所有设置VPN是正确的解决scheme。 我真的希望这里有人能给我一个build议,我真的很抱歉,如果我让你们都笑这样一个noob问题。 最好的祝福!
假设TCP数据包被发送到目的ip(dest_ip)并且可以通过以下命令被丢弃: iptables -A INPUT -d dest_ip -p tcp -j DROP 但是,当我尝试使用iptables NAT将数据包redirect到不同的ip(diff_ip)时,数据包仍旧到达旧目标(dest_ip): iptables -t nat -A PREROUTING -d dest_ip -p tcp -j DNAT –to-destination diff_ip 有一些iptables,我不太明白在这里,因为我期待数据包不能再达到dest_ip。 有人能解释为什么这样吗? 谢谢。 可能相关的其他信息: / proc / sys / net / ipv4 / ip_forward已经设置为1 ifconfig显示两个接口:eth0和lo; dest_ip在eth0上,diff_ip是远程ip 更新1:使用telnet进一步testing 在12800上build立一个使用socat的监听器来接收telnet消息: socat -u TCP-LISTEN:12800,reuseaddr,keepalive,reuseaddr OPEN:/tmp/output.txt,creat,append Telnet连接使用随机消息进行: telnet 127.0.0.1 12800 1)testing使用: iptables -A INPUT […]
我有一个build立在两个服务器之间的VPN隧道:VPS-A和VPS-B,虚拟公共IP地址分别为66.55.44.33和77.88.55.66,VPN端点分别为10.0.1.1和10.0.2.1。 在VPS-A上运行Web服务器。 我可以没有问题SSH到VPS-B,并通过curl向10.0.1.1发出HTTP请求时收到响应,例如: curl http://10.0.1.1/ 我也可以在连接到互联网的任何给定计算机上打开浏览器并成功打开 http://66.55.44.33/ …但是我也想通过发送一个请求到VPS-B(即VPS-A)来到达VPS-A的networking服务器 http://77.88.55.66/ 现在,我在VPS-B上添加了以下规则( 编辑显示正确的规则 ) iptables -t nat -A PREROUTING -p tcp –dport 80 -j DNAT –to-destination 10.0.1.1:80 …当我在端口80上做一个tcpdump ,我可以清楚地看到http://77.88.55.66/请求是如何正确地转发到http://10.0.1.1 。 但是,VPS-A上的Web服务器似乎没有确认TCP请求。 以下是tcpdump显示的内容: 2013-04-27 03:45:15.001564 IP 45.248.82.171.51377 > 10.0.1.1.80: S 791893048:791 2013-04-27 03:45:15.252571 IP 45.248.82.171.51378 > 10.0.1.1.80: S 670490211:670 2013-04-27 03:45:18.001526 IP 45.248.82.171.51377 > 10.0.1.1.80: S 791893048:791 2013-04-27 […]
通过使用tcpdump -nlASX -s 0 -vvv port 80我得到像这样的东西: 14:58:55.121160 IP (tos 0x0, ttl 64, id 49764, offset 0, flags [DF], proto TCP (6), length 1480) 206.72.206.58.http > 2.187.196.7.4624: Flags [.], cksum 0x6900 (incorrect -> 0xcd18), seq 1672149449:1672150889, ack 4202197968, win 15340, length 1440 0x0000: 4500 05c8 c264 4000 4006 0f86 ce48 ce3a E….d@.@….H.: 0x0010: 02bb c407 […]
我有一个Linux的行为像一个路由器,处理两个networking接口:eth0的互联网和eth1的LAN。 我设置了iptables,以便将所有来自局域网的networkingstream量redirect到本地apache,并使用以下规则侦听端口80: sudo iptables -t mangle -N internet sudo iptables -t mangle -A PREROUTING -i eth1 -p tcp -m tcp –dport 80 -j internet sudo iptables -t mangle -A internet -j MARK –set-mark 99 sudo iptables -t nat -A PREROUTING -i eth1 -p tcp -m mark –mark 99 -m tcp –dport 80 -j DNAT –to-destination […]
如何从iptables规则正确添加IP地址到ipset? 或者根本不可能? 这条规则对我不起作用: -A INPUT -m recent –name IP_LIST –set IP_LIST的types是散列:net IP_LIST是使用命令ipset create IP_LIST hash:net 但检查一个IP的同一列表放弃它,工程: -A INPUT -m set –match-set IP_LIST src -j DROP