Articles of iptables

SSHstream量redirectLXC容器

我使用LXC容器ssh托pipe,我想redirectSSH / SFTP通信(使用端口22)到容器的私人IP地址,但在用户/ IP的基础上。 这是一个源端口,许多目的地。 ssh [email protected] 我们有用户'ahes',这个用户容器的私有IP是10.10.66.66 将stream量redirect到10.10.66.66:22 我不可能为每个容器分配公共IP地址。 我想出了可能的解决scheme: 简单的一个 – 忘记全球端口22,并使用端口匹配特定用户。 例如,ahes将有6666端口。然后用简单的iptables规则redirectstream量:server.com:6666 => 10.10.66.66:22。 缺点是有些地方22/80/443以外的端口被阻塞。 在父服务器上的sshd中使用ForceCommand指令: 匹配组用户 ForceCommand /usr/local/bin/ssh.sh ssh.sh脚本: #!/斌/庆典 #…在这里find用户IP地址的一些逻辑 #运行ssh exec ssh $ USER @ $ IP $ SSH_ORIGINAL_COMMAND 这个解决scheme几乎是好的,但我没有find一种方法来使这个configurationsftp工作。 另一个考虑是我不能深入协议,因为encryption是在任何数据识别用户发送之前完成的。 另外我没有真正的技能来破解sshd源代码,并且保留父服务器与原始包是非常可取的安全的原因。 我也发现libpam-nufw软件包用于连接级别(iptables)的身份validation,但我认为这是用于其他目的。 我将不胜感激任何线索。 谢谢。

通过公共接口路由OpenVPN隧道,并通过NAT接口(到互联网)

我希望有人能帮帮忙… 我想configurationOpenVPN-AS(即OpenVPN接入服务器,而不是OpenVPN)在我的VPS上工作。 VPS是运行Ubunto 10.04 LTS的KVM,具有非常的configuration。 OpenVPN-AS同样以最小的“风味”安装。 服务器有两个接口(两个都是DHCP,eth1没有configuration默认网关,但有一个可用): – eth0(在美国不是地理定位的公共IP地址), – eth1(私有IP地址NAT通过在美国地理定位的路由器) 大多数stream量,包括OpenVPN隧道(UDP / 1194)通过eth0进入,但隧道客户端应该通过eth1走出去,以获得美国IP地址的好处。 我认为有两个独立的问题:1)configurationIP,所以有一个隧道客户端通过NAT路由器离开2)configurationOpenVPN AS,使客户端使用该网关的互联网接入 文件/ etc / network / interfaces是: # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet dhcp # The internal (private) network interface auto eth1 iface eth1 inet […]

LVSconfiguration问题(使用食人鱼工具)

我使用食人鱼工具在cent os上configuration了LVS。我使用内部n / w的vip作为真实服务器的网关,我们有两个网卡,一个有外部Ip,另外一个是内部networking,它位于192.168.3.0/24networking上。 但是我不能从客户端连接它显示连接拒绝错误 。 请build议私人n公共n / w沟通的iptables规则。 可能是我错过了这个。 我们添加的iptables规则是: iptables -t nat -A POSTROUTING -p tcp -s 192.168.3.0/24 –sport 5000 -j MASQUERADE 这是我的ipconfig: eth0 Link encap:Ethernet HWaddr 00:00:E8:F6:74:DA inet addr:122.166.233.133 Bcast:122.166.233.255 Mask:255.255.255.0 inet6 addr: fe80::200:e8ff:fef6:74da/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:94433 errors:0 dropped:0 overruns:0 frame:0 TX packets:130966 errors:0 dropped:0 overruns:0 […]

iptables preroute本地主机

我想使用iptables将所有传入的stream量从某个端口转发到另一个端口。 问题是预先路由不适用于来自本地主机的stream量。 本主题提出了一个解决scheme iptables -t nat -I PREROUTING -p tcp –dport 443 -j REDIRECT –to-ports 8080 iptables -t nat -I OUTPUT -p tcp -d 127.0.0.1 –dport 443 -j REDIRECT –to-ports 8080 该解决scheme适用于大多数情况。 但是,当我连接到http:// myserver:443 ,其中myserverparsing为本地计算机上承载的IP地址,但不是127.0.0.1,它似乎绕过了这两个规则。 有没有一种方法来捕捉从本地机器完成eth0 ip地址的请求?

禁用原始套接字的TCP数据包的内核处理

我正在为embedded式设备开发一个TCP / IP实现,我想使用原始套接字从Linux用户空间进程中进行testing。 生(7)说 原始套接字可以在Linux中使用所有的IP协议,甚至是在内核中有一个协议模块的ICMP或TCP协议。 在这种情况下,数据包被传递给内核模块和原始套接字。 我需要禁用这个内核处理(至less在一个特定的目标端口),以testing我的实现。 我认为有一些涉及iptables的操作可以做到这一点,但坦率地说,我不是Linux专家。 我感谢任何帮助。

Squid透明代理仅用于传出通信

我有一个Rails服务器,这API有点沉重,所以我想在所有端口80活动和真实世界之间运行Squidcaching透明代理。 但是,我不需要传入stream量来通过该Squid代理。 例如 Rails -> Squid -> Internet Internet -> Rails 我无法想象这是一个不寻常的设置,但我似乎无法find任何网上的例子。 以下透明的Squid教程刚刚结束所有传入stream量的Squid代理和传出stream量似乎直接通过它(虽然我不太确定)。 这是ifconfig的输出。 我想这将是相关的任何答案。 eth0 Link encap:Ethernet HWaddr f2:3c:91:ae:33:6b inet addr:176.58.105.173 Bcast:176.58.105.255 Mask:255.255.255.0 inet6 addr: fe80::f03c:91ff:feae:336b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:330029 errors:0 dropped:0 overruns:0 frame:0 TX packets:185242 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:333723993 (333.7 MB) TX bytes:34410551 (34.4 […]

如何使用nDPI作为iptables模块(如ipp2p)来阻止P2P

由于ipp2p在6年内没有更新,OpenDPI不再可免费使用(ipoque.com的付费软件除外),似乎来自ntop的 nDPI是目前唯一可用的DPI库。 我需要阻止p2p,并在过去能够将ipp2p编译为核心模块并使用iptables来实现它。 有谁知道是否有可能使用nDPI过滤p2p使用iptables,如果是的话,这是如何实现的?

iptables与Cloudflare

我正在使用fail2ban来阻止networking漏洞扫描器。 如果CloudFlare被绕过,它在访问站点时工作正常,但用户仍然可以通过它访问它。 我已经安装了mod_cloudflare 。 使用Cloudflare时,是否可以使用IPtables阻止用户? Ubuntu Server 12.04 32位 access.log的: 112.64.89.231 – – [29/Aug/2012:19:16:01 -0500] "GET /muieblackcat HTTP/1.1" 404 469 "-" "-" Jail.conf [apache-probe] enabled = true port = http,https filter = apache-probe logpath = /var/log/apache2/access.log action = iptables-multiport[name=apache-probe, port="http,https", protocol=tcp] maxretry = 1 bantime = 30 # Test Apache的probe.conf [Definition] failregex = ^<HOST>.*"GET \/muieblackcat […]

让iptables忽略回送接口是否存在安全缺陷?

我在我的iptables中有以下规则(我删除了与这个问题无关的规则): *生的 :预备接受 :输出接受 -PREROUTING -i lo -j NOTRACK – 一个OUTPUT -o lo -j NOTRACK 承诺 *过滤 -Ainput-i lo -j接受 -A INPUT -d 127.0.0.0/8! -i lo -j REJECT –reject-with icmp-port-unreachable -A OUTPUT -j ACCEPT 承诺 我把这个放在了原地,因为我在ip_conntrack上溢出了,因为在本地通过环回与服务器交互。 我有什么安全问题吗?

私有IPV4地址如何通过iptables NAT(tcp RST,FIN)

我有一个路由器使用iptables iptables -t nat -o -j MASQUERADE执行简单的NAT转换 几乎所有的时间都可以正常工作,除了一些TCP RST和FIN数据包正在离开路由器的情况外。 在这种情况下,我设置了一个或两个客户端计算机streamFlashvideo(例如www.nasa.gov/ntv)在路由器,然后拆除并重新build立公共接口(这是一个调制解调器)正如预期的闪存stream熄灭。 连接重新build立后,我尝试刷新Flash页面,我看到一些TCP RST和[FIN,ACK]数据包离开公共接口(我假设Flash试图恢复其stream)。 我不知道这些数据包是如何离开路由器非NAT的