Articles of iptables

如何在没有MASQUERADE的情况下将外部IP路由到内部

好的,我还在创build一个dmz'd http服务器 所以现在我有一个使用ssh -w 0:0的以太网隧道,并且每端都有可以相互通信的接口: 以前的问题 所以现在我正在努力让这个http服务器对外部networking可见。 这是完整的设置 所以我创build一个新的EC2实例,并运行设置: 来源./HOST scp -i green.pem服务器/ * root @ $ HOST: ssh -i green.pem root @ $ HOST ./setup 它依次运行远程机器上的设置: apt-get更新 apt-get install telnet 回声1 | tee / proc / sys / net / ipv4 / ip_forward echo“PermitTunnel yes”>> / etc / ssh / sshd_config /etc/init.d/ssh重启 然后我启动SSH连接: sudo […]

防火墙阻止来自openVz容器的ssh

我在HN上使用防火墙直接从HN打开/closures容器的端口。 我正在使用openvz wiki的iptables脚本。 一切正常,但我不能从VPS ssh出来。 我可以通过ssh进入容器,但是如果我尝试从VPS到另一个服务器执行ssh连接,防火墙将阻止它。 我应该添加什么规则的iptables脚本来允许传出的SSH连接? 这是脚本: #!/bin/sh # firewall Start iptables firewall # chkconfig: 2345 97 87 # description: Starts, stops and saves iptables firewall # This script sets up the firewall for the INPUT chain (which is for # the HN itself) and then processes the config files under # /etc/firewall.d to […]

在Tomato USB上跳过透明的Squid代理服务器以访问特定的站点

我正在使用Tomato USB路由器以透明模式将端口80的请求转发到Ubuntu Server与鱿鱼3。 番茄论坛上的某些人适应番茄的这些说明 : #!/bin/sh INTERNAL_NETWORK="192.168.1.0/24" ROUTER_IP="192.168.1.1" PROXY_SERVER="192.168.1.3" PROXY_PORT="3128" /usr/sbin/iptables -t nat -A PREROUTING -i br0 -s $INTERNAL_NETWORK -d $INTERNAL_NETWORK -p tcp –dport 80 -j ACCEPT /usr/sbin/iptables -t nat -A PREROUTING -i br0 -s ! $PROXY_SERVER -p tcp –dport 80 -j DNAT –to $PROXY_SERVER:$PROXY_PORT /usr/sbin/iptables -t nat -A POSTROUTING -o br0 -s $INTERNAL_NETWORK -p […]

与AND条件的IPTABLES

我需要使用–string选项来应用iptables规则。 我需要在–hex或ascii 2string上匹配,这些string从不在同一个区域。 我试过的每个样本都只有一个string,所以我有误报。 我需要删除2个string,但是当我只有一个string或其他字符时,我不想删除。 所以,我正在寻找的规则是围绕iptables一个AND规则。 所以,我试过了: iptables -I INPUT -j DROP -m string –string "TEST1" –algo bm -m string –string "TEST2" –algo bm 不工作,它看起来像我有2个不同的规则,所以它是阻止在TEST1或TEST2,但不是TEST1和TEST2:所以假阳性 iptables -N my_chain iptables -A my_chain -j DROP iptables -A my_chain -j QUEUE ! -f -m string –string "TEST2" –algo bm iptables -A INPUT -j my_chain ! -f -m string […]

你可以用多个源IPconfigurationSNAT并使用静态DNAT(端口转发)吗?

我们有一个专用局域网连接到一个带有多个公网IP的防火墙用于SNAT,以避免单个IP上的端口过载。 但是,我们有一个要求,允许某些工作站可以在他们托pipe服务器的预定义端口上进行外部访问。 在下面的例子中,机器A先前已经向B发送了203.0.113.1:7045上可用的资源。 但是,当机器B启动到A的连接时,它可能会收到一个不同于它所期望的源IP(由于SNAT循环)的响应。 我认为这一定是机器B的问题,因为它不能正确地关联数据包来build立连接。 什么是最好的解决scheme? iptables -t NAT -A POSTROUTING -s 10.8.4.0/24 -o eth1 -j SNAT –to-source 203.0.113.1-203.0.113-3 iptables -t NAT -A PREROUTING -i eth1 -m multiport –dports 7045:7059 -j DNAT –to-destination 10.8.4.2

IPTables配额不能在Ubuntu 12.04上运行

我一直在努力将IPTable规则从Ubuntu 10.04移植到Ubuntu 12.04。 问题是配额似乎被打破了。 以配额规则的这个非常简单的实例。 iptables -t mangle -A POSTROUTING -o eth0 -p tcp -m配额–quota 500000 -j ACCEPT 在Ubuntu 10.04上,当我们通过eth0传输字节时,这就是我们所看到的。 (root @ dev) – (〜)$ iptables -L -t mangle -v | grep配额 tcp – 任何地方的任何eth0配额:389148字节 (root @ dev) – (〜)$ iptables -L -t mangle -v | grep配额 667 348K ACCEPT tcp – 任意位置的任何eth0配额:152577字节 您可以看到配额正在下降,而使用的字节正在上升(第二列)。 但是,当我在Ubuntu […]

如何使多个IP绑定服务器上的传入和传出IP相同

我有一个centos 6 VPSconfiguration1个networking接口与4个IP绑定,例如172.xx11,172.xx12,172.xx13,172.xx14与venet0:0,venet0:1,venet0:2,venet0:3绑定。 我有服务器上运行的pptpd服务。 客户端可以连接到4个IP中的每一个的PPTP VPN服务,但是当包转发到目的地时,IP始终是服务器的主IP,即172.xx11。 例如,用户通过使用PPTP VPN客户端连接到172.xx13来请求twitter.com的一个页面,但是twitter.com请求请求来自172.xx11。 我应该如何设置服务器(也许iptables,路由),使传入和传出的IP相同? 这是我设置iptables forwading的iptables: -A POSTROUTING -s 192.168.24.0/255.255.255.0 -o venet0 -j MASQUERADE 这是路由命令的结果: [root@bla1 ~]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface link-local * 255.255.0.0 U 1002 0 0 venet0 default * 0.0.0.0 U 0 0 0 venet0

Server 2003通过MAC过滤移动设备

在我的一个客户的网站,我需要保持我的用户未经授权的设备closures无线。 他们都知道SSID和密码,因为他们中的许多人都有需要无线的笔记本电脑。 我的IP地址已经用完了,我们发送了大量电子邮件,要求他们不要离开,但是和大多数用户一样,他们忽略了IT的电子邮件。 我目前正在运行Server 2003作为GC / DC(但有2008服务器)和2个Netgear WNAP320。 我已经看到了几个类似于我正在寻找的职位,但他们似乎处理Linux。 我的问题是,如何在不将(计划在年底)迁移到新服务器的情况下执行此操作,并且可以在Server 2003中执行此操作? 谢谢你

使CentOS 6.xa端口转发NAT设备

我想使用iptables使CentOS成为端口转发NAT机器。 这是我第一次尝试这个,我想我可能需要一点帮助。 这是我试图实现的configuration。 我试图通过端口5500上的CentOS机器build立一个远程桌面连接,并让CentOS连接到端口3389上的服务器。 192.168.21.11是通过连接到端口5500上的192.168.21.10(CentOS)连接到192.168.9.120上的端口3389的客户端。 CentOS eth0是192.168.9.20/24 CentOS eth1是192.168.21.10/24 我到目前为止所尝试的是: 禁用SELINUX 在/etc/sysctl.conf中启用IPv4转发 /etc/sysctl.conf net.ipv4.ip_forward = 1 运行下面的iptables命令 iptables -t nat -A PREROUTING -p tcp -d 192.168.21.10 –dport 5500 -j DNAT –to 192.168.9.120:3389 iptables -A INPUT -i eth1 -p tcp –dport 5500 -m state –state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp –sport […]

在Linux服务器的2个networking接口上设置MASQUERADE可以吗?

有一个Linux服务器有3个networking接口, eth0, eth1, eth2 。 此服务器中已启用IP转发。 eth0连接到10.0.1.0/24。 它的IP是10.0.1.1 。 eth1连接到172.16.1.0/24。 它的IP是172.16.1.1 。 服务器A可以ping 172.16.1.2的路由器C. eth2连接到192.168.1.0/24。 它的IP是192.168.1.1 。 服务器A可以ping 192.168.1.2的服务器B. 路由器C能够路由到172.16.2.0/24和172.16.3.0/24。 [10.0.1.0/24] | 172.16.2.0/24 —— | | [C] —— 172.16.1.0/24——[A]——192.168.1.0/24——[B] 172.16.3.0/24 —— | 我们在eth0上设置了MASQUERADE。 当服务器B(192.168.1.2)连接到10.0.1.0/24时,IP MASQUERADE将在eth0发生。 我们可以在eth1上设置MASQUERADE吗? 在Linux的多个networking接口上设置MASQUERADE可以吗?