有一个没有iptables规则的根服务器(我知道这是不好的,这只是在我的情况下是暂时的),并有这样的configuration(为VPN的原因): echo 1 > /proc/sys/net/ipv4/ip_forwarding iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE 这是否包括任何主机能够滥用我的根服务器,使用它作为路由器或以任何方式通过它转发stream量?
我想configuration我的iptables ,以便让Pidgin使用Bonjour协议,现在根据: Bonjour for Windows不工作,由于防火墙设置 ,我必须允许Multicast DNS / (5353/udp) 。 [alexus@wcmisdlin02 ~]$ cat /etc/redhat-release Scientific Linux release 6.4 (Carbon) [alexus@wcmisdlin02 ~]$ uname -a Linux wcmisdlin02.uftmasterad.org 2.6.32-358.6.2.el6.x86_64 #1 SMP Thu May 16 11:21:38 CDT 2013 x86_64 x86_64 x86_64 GNU/Linux [alexus@wcmisdlin02 ~]$ sudo iptables -L | grep mdns ACCEPT udp — anywhere anywhere state NEW udp dpt:mdns […]
我在Ubuntu主机上运行了几个Linux容器,每个都运行一个webapp。 要访问webapps,我使用iptables转发端口: sudo iptables -t nat -A PREROUTING -p tcp –dport <port> -j DNAT –to-destination #<container_ip>:<port> 如果stream量来自我的主机之外 ,这很好。 如果请求由本地主机完成,则不起作用: curl <host_ip>:<port> #works (from outside the host) curl <container_ip>:<port> #works (from inside the host) curl 127.0.0.1:<port> #doesn't work (from inside the host) 我知道来自本地主机的数据包不经过iptables DNAT规则,这就是为什么它不起作用。 有没有办法得到这个工作?
我有以下iptables&tc,但是一旦1GB的配额被命中,它将上传速度限制为2Mbits。 iptables -t mangle -A POSTROUTING -o eth0 -p tcp -m所有者–uid-owner aaron -m配额-quota 1073741824 -j ACCEPT iptables -t mangle -A POSTROUTING -o eth0 -p tcp -m owner –uid-owner aaron -j CLASSIFY –set-class 1:11 tc qdisc add dev eth0 root handle 1:0 htb default 99 tc class add dev eth0 parent 1:0 classid 1:1 htb rate […]
我有一对主机之间的路由非常糟糕,但我有第三个主机,有非常好的ping每个。 为了解决这个不好的路由问题,我设置了第三个主机,在这两个主机之间来回传送数据包。 这第三个主机有一个IP地址,不用于其他任何东西。 我的理想configuration是,当主机1向主机3发送一个数据包时,主机3自动地将源地址和目的地址进行NAT,replacesource = host3和destination = host2,然后转发数据包。 反过来应该是真的:如果host2试图响应,数据包应该返回到host3,它会将其转换回源= host3,destination = host1。 不需要连接跟踪 – 这可以完全无状态地完成。 卡住的地方是让DNAT和SNAT同时工作。 看来,如果一个数据包由DNAT处理,它会自动标记为跳过SNAT规则:DNAT工作正常,但源地址没有被翻译。 什么是适当的iptablesconfiguration来实现这一目标?
我读了很多,很近,我觉得,我正在拉我的头发… 请帮助! 我有一个OpenVPN的cliend服务器设置本地路由,也改变了默认的gw(我知道我可以通过–route-nopull来阻止)。 我想要所有通过本地gw传出的http和sshstream量,以及其他一切通过vpn。 本地IP为192.168.1.6/24,gw 192.168.1.1。 OpenVPN本地IP是10.102.1.6/32,gw 192.168.1.5 OpenVPN服务器在{OPENVPN_SERVER_IP} 这是openvpn连接后的路由表: # ip route show table main 0.0.0.0/1 via 10.102.1.5 dev tun0 default via 192.168.1.1 dev eth0 proto static 10.102.1.1 via 10.102.1.5 dev tun0 10.102.1.5 dev tun0 proto kernel scope link src 10.102.1.6 {OPENVPN_SERVER_IP} via 192.168.1.1 dev eth0 128.0.0.0/1 via 10.102.1.5 dev tun0 169.254.0.0/16 dev eth0 […]
我用3.4.27运行EdgeOS(aka vyatta 6.3 aka debian)。 有两个DNAT端口转发规则是这样的: rule 1 { destination { port 65432 } inbound-interface eth0 inside-address { address 192.168.88.5 } log disable protocol tcp_udp type destination } 不考虑这个linux发行版的细节,我假设所有的TCP和UDP数据包都应该被转发到局域网,并且只能通过[wan-lan]防火墙规则进行过滤。 我对这个假设是否正确? 因为一些指定给eth0的IP和dport满足DNAT规则的数据包仍然在[wan-local]防火墙中。 这些数据包主要是TCP和以下标志:ACK RST,RST,ACK FIN。 在这段时间内stream量并不真正活跃,eth0也没有下降。 我错过了什么或iptables没有正确地完成它的工作? 谢谢。
我在Debian 7机器上运行一个web服务器(Apache),在同一台机器上使用iptables。 iptables规则由ConfigServer防火墙(CSF)脚本生成。 在那里托pipe的网站没有问题,但是我在端口80上看到很多丢弃的入站stream量 。 以下是日志摘录(webserver IP:11.22.33.44): Jan 27 15:21:36 [hostname] kernel: [1229124.817624] Firewall: *TCP_IN Blocked* IN=venet0 OUT= MAC= SRC=199.30.24.209 DST=11.22.33.44 LEN=40 TOS=0x00 PREC=0x00 TTL=115 ID=3144 DF PROTO=TCP SPT=36879 DPT=80 WINDOW=510 RES=0x00 ACK FIN URGP=0 Jan 27 15:21:36 [hostname] kernel: [1229124.872795] Firewall: *TCP_IN Blocked* IN=venet0 OUT= MAC= SRC=199.30.24.209 DST=11.22.33.44 LEN=40 TOS=0x00 PREC=0x00 TTL=115 ID=3183 DF […]
我们的局域网连接到我们连接到互联网的办公室网关机器(192.168.1.1)。 我已经为此设置了NAT /伪装,没有任何问题。 我们也使用OpenVPN连接到我们的数据中心(OpenVPN服务器在数据中心)。 我没有直接configuration所有的内部客户端,而是使我们的网关服务器成为OpenVPN服务器(10.91.3.1)的客户端(10.91.3.102) 我们在VPN上的networking速度是荒谬的,我不知道在哪里丢失什么。 它正在工作 ,但我猜数据包正在丢失。 互联网模式/路由器 – 192.168.0.1 网关eth1 – 192.168.0.2(到Internet)eth2 – 192.168.1.1(到LAN)tun0 – 10.91.3.102(到VPN) 局域网192.168.1.0/24 在网关机器上… *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A POSTROUTING -o tun0 -j SNAT –to-source 10.91.3.102 -A POSTROUTING -o eth1 -j SNAT –to-source 192.168.0.2 COMMIT *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT […]
我有一个奇怪的问题。 我可以从各种服务器上运行这个命令: wget –debug '–http-user=USER123' '–http-passwd=PASSWORD' http://GW-BOX:9091/weijhkdsvn/v9_odbc//CRONTAB.2014020 其中“GW-BOX”是networking的网关,USER123和PASSWORD代表weijhkdsvn的用户和密码,9091代表内部Linux服务器。 问题是这个命令超时和/或被拒绝。 wget –debug '–http-user=USER123' '–http-passwd=PASSWORD' http://GW-BOX:9093/weijhkdsvn/v9_odbc//CRONTAB.20140206 端口9093指向一个不同的内部服务器。 请注意,唯一的区别是端口。 所以然后我试图直接从服务器做一个wget,以确保httpconfiguration正确: wget –debug '–http-user=USER123' '–http-passwd=PASSWORD' http://9091-Server:80/weijhkdsvn/v9_odbc//CRONTAB.20140206 在这种情况下,9091-Server是端口9091引用的内部服务器。 它工作正常。 然后我尝试了相同的命令,但模仿端口9093: wget –debug '–http-user=USER123' '–http-passwd=PASSWORD' http://9093-Server:80/weijhkdsvn/v9_odbc//CRONTAB.20140206 其中9093-服务器是指9093指向的内部服务器。 所以上面的例子certificate了9093-Server已经正确的设置了http来允许wget,据我所见。 这表明,也许问题是与GW-BOX,所以我用telnettesting端口,端口9091工作正常。 [wmsodbc]> telnet GW-BOX 9091 Trying GW-BOX… Connected to GW-BOX. Escape character is '^]'. ^] telnet> quit Connection closed. [wmsodbc]> 但是端口9093没有工作: [wmsodbc]> telnet […]