Articles of iptables

CentOS + IPTables

我正在尝试使用Squid作为代理服务器来安装CentOS 7服务器。 代理服务器是严格私有的,除了我自己和其他2个服务器以外,不需要任何其他人可用,因此我决定将所有端口locking到3个IP地址。 我还要指出,如果我的IP改变,我有VNC访问服务器。 这里是我用来locking服务器的IP表规则(其中1.1.1.1只是一个例子)… #!/bin/bash IPTABLES=/sbin/iptables MYIP=1.1.1.1 #start and flush $IPTABLES -F $IPTABLES -t nat -F $IPTABLES -X $IPTABLES -P FORWARD DROP $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT ACCEPT #HTTP traffic $IPTABLES -A INPUT -p tcp -s $MYIP –dport 80 -j ACCEPT #SSH traffic $IPTABLES -A INPUT -p tcp -s $MYIP –dport 22 […]

iptables DNAT单端口

我试图通过IPtables将单个端口redirect到本地服务器。 目前我有以下规则: iptables -t nat -A PREROUTING -p tcp -m tcp –dport 55555 -j DNAT –to-destination 10.188.44.125:3306 iptables -t nat -A POSTROUTING -j MASQUERADE 当我有这些规则时,我的rsync进程的SSH失败。 我假设这里有一些冲突,但我不知道是什么。 有什么build议么? 谢谢! 更新:这里是我准备好允许通过SSH连接的rsync的规则。 我的input政策设置为放弃。 其他政策将被接受。 iptables -A INPUT -p tcp -m tcp –dport 22 -j ACCEPT iptables -A INPUT -p tcp -m tcp –dport 80 -j ACCEPT iptables -A […]

IPTABLES:将传出的http请求路由到eth1

我试图路由所有传出的HTTP请求离开我的服务器去通过另一台服务器上的代理(tinyproxy)。 我希望传输到代理使用我们的eth1上的LAN。 无论我尝试什么,eth0都会发出请求。 我创build了这个规则: iptables -t nat -A OUTPUT -p tcp –dport 80 -j DNAT -o eth1 –to-destination 123.123.123.123:8888 但是,这是行不通的。 请求正在eth0上。 我知道我在这里错过了一些大事,但我没有想法。 任何帮助,将不胜感激。 组态: eth0 Link encap:Ethernet HWaddr 04:01:33:0E: inet addr:111.111.111.111 Bcast:111.111.111.255 Mask:255.255.255.0 inet6 addr: fe80::601:33ff:121:4f01/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1068434 errors:0 dropped:0 overruns:0 frame:0 TX packets:499051 errors:0 dropped:0 overruns:0 carrier:0 […]

:: gem list -remote :: iptablesconfiguration

一旦我用iptableslocking我的VPS服务器,这意味着我只有几个选定的端口打开input访问,我的gem命令停止工作,我不知道我做错了什么。 这是一个双重的问题。 1。 这是在Gem命令行运行的命令。 gem list -r 之前,它显示了一个可用于安装的远程gem列表,现在它已经停止,除非我再次通过iptables打开所有的端口。 我已经读了几个地方来打开443号港口,但​​是我看到的例子对我来说是相当陌生的,我试图从中拿走的例子并不起作用。 那么有没有人有任何想法? 这是我的iptables设置的输出。 Chain INPUT (policy ACCEPT 0 packets, 0 bytes) num pkts bytes target prot opt in out source destination 1 193 14308 ACCEPT tcp — eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 2 0 0 ACCEPT tcp — eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 3 0 […]

连接到集线器时转发所有通信

我有一个Ubuntu有两个网卡。 eth0连接到集线器,eth1连接到Internet。 eth1用来使用openVPN进行点到点VPN。 所以我有一个tun0接口。 VPN隧道端点是10.9.0.1(绑定在eth1上)和10.9.0.2(远程对等)。 我想转发/镜像eth0(集线器端)收到的所有stream量到VPN对等10.9.0.2。 为此,我创build了以下iptables规则。 sudo iptables -t mangle -A PREROUTING -i eth0 -j TEE –gateway 10.9.0.2 当然,我把eth0设置为混杂模式。 sudo ifconfig eth0 promisc 而且我甚至激活了IP转发 sudo sh -c 'echo 1 > /proc/sys/net/ipv4/ip_forward' 当我嗅探eth0(集线器端),我看到所有stream量,但是当我在10.9.0.2(远程VPN对等端)上嗅探时,我只能看到在eth0上接收到的多播stream量。 我的问题是:为什么非多播或专用单播stream量不镜像/转发? 注意:如果我在Ubuntu服务器上侦听tun0,我只能看到多播stream量和专用单播stream量。 所以我得出这样的结论,问题是不是位于iptables规则,但之前… 感谢你并致以真诚的问候。

是否有可能使用iptables截断数据包?

设置新的Linux服务器(专用或VPS)时,我首先想到的是如何提高安全性。 我想知道是否有可能使用iptables来截断icmp数据包。 如果使用ping -s发送数据包ping -s -s选项代表数据包大小。 #>ping www.google.com -s 100 PING www.google.com (216.58.209.164) 100(128) bytes of data. 72 bytes from bud02s21-in-f164.1e100.net (216.58.209.164): icmp_seq=1 ttl=56 (truncated) 72 bytes from bud02s21-in-f164.1e100.net (216.58.209.164): icmp_seq=2 ttl=56 (truncated) 你看我是怎么试着发送100个字节的数据包,以及Google如何优雅地截断这72个字节作为回报。 这可能使用iptables来做同样的事情吗? 也许使用一些iptables模块…

iptables不能识别–log-prefix

我很难让iptableslogin。 这里是相关的命令: /usr/sbin/iptables -N LOG_DROP /usr/sbin/iptables -A LOG_DROP -m limit –limit 2/min -j LOG –log-prefix "iptables drop: " –log-level 7 /usr/sbin/iptables -A LOG_DROP -j DROP input这些命令会导致: iptables v1.4.21:未知选项“–log-prefix” 我相信下面的模块很重要,所以它们在我的内核中很活跃: `nf_log_common nf_log_ipv4 nf_log_ipv6` 有什么build议来解决这个问题?

IP Aliassing – 多个公共IP地址

我有一个IP Aliassing的问题。 我希望所有的IP地址有ismstream量,但是除了redirecteth0和iptables DNAT和SNAT是无效的。 auto lo iface lo inet loopback # The normal eth0 auto eth0 allow-hotplug eth0 iface eth0 inet dhcp auto eth0:0 iface eth0:0 inet static address 149.56.xx netmask 255.255.255.255 broadcast 149.56.xx gateway 149.56.65.x auto eth0:1 iface eth0:1 inet static address 192.99.xx netmask 255.255.255.255 broadcast 192.99.xx gateway 149.56.65.x Kernel IP routing table Destination […]

限制INPUT UDP端口每秒传入数据包的数量

我search了,我无法find一个规则来限制每秒和每IP的inputUDP端口的传入数据包的计数。 我需要每个连接到我的套接字的IP ,而不是一个特定的 IP 。 我在Ubuntu 14.0.4 LTS amd64上使用iptables。 我很熟悉UDP是如何工作的。 在我的情况下,有人可以使用不同的端口创build大量的UDP套接字。 我只需要一个IP就可以连接到我的UDP端口。 这可能与iptables? 我知道Netfilter和C ++,我可以这样做吗?

iptables:RELATED和ESTABLISHED状态之间的区别?

我试过在网上阅读很多文章,但是没有一篇很清楚。 我也知道类似的问题已经发布在这里,但没有一个解释我的情况。 之前我因此浪费了2-3个小时。 手册说: 新 – 意味着数据包已经开始了一个新的连接,或者是与在两个方向上没有看到数据包的连接相关联 ESTABLISHED – 表示数据包与在两个方向上都看到数据包的连接相关联, 相关 – 意味着数据包正在启动一个新的连接,但与现有的连接相关联,如FTP数据传输或ICMP错误。 服务器上的我的iptables看起来像: iptables -P FORWARD ACCEPT iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT # Flush old rules iptables -F # Loopback iptables -I INPUT 1 -i lo -j ACCEPT # Allow responses from OUTPUT connection iptables -A INPUT -m state –state ESTABLISHED […]