Articles of iptables

如何路由所有stream量通过另一台服务器在同一个子网?

我想将来自客户端(192.168.1.0/24)所有stream量从openwrt网关(0.0.0.0/0)转出到服务器openvpn隧道。 服务器有一个openvpn隧道。 它也设置了选项: iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE net.ipv4.ip_forward=1 tun0 is the default gateway Openwrt是Internet的默认网关。 所以如果我手动更改客户端的默认网关到服务器IP 192.168.1.2 – 它的工作原理。 +————+ | INTERNET | +——|—–+ | | | +——–|——-+ | OpenWRT | | | | 192.168.1.1/24 | +—|—-|——-+ | | | | +————-+ | | | Server | | | | | […]

通过不同于默认网关的网关进行NAT吗?

我的Synology NAS有一些棘手的设置: 有一个VPN隧道启动并运行,也作为默认网关(tun0,GW:10.129.15.229)。 这是有意的,应该保持这样的状态,以便在NAS上启动的所有内容都通过VPN。 我现在想在本地networking上使用NAT(由私有networking192.168.2.0/24中的其他计算机启动,使用本地网关192.168.2.1)。 只需使用这样的iptables规则来切换NAT modprobe iptable_nat iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -j SNAT –to-source 192.168.2.20 似乎干涉默认的名为1(没有发生/不工作)的GW。 任何想法如何设置这个? 我可以用iptables标记软件包,然后为这些标记的软件包明确设置192.168.2.1路由吗? 非常感谢!

iptables用于将单个用户路由到tun0上的openvpn,并拒绝eth0访问?

我正试图通过openvpn路由一个用户stream量。 如果vpn宕机,他们的stream量应该被拒绝。 我想用附加到openvpn的脚本来做到这一点。 在我的testing中,这用于路由用户通过vpn,直到我使用DROP iptable …然后用户失去所有连接,其他规则被忽略.. 这一切都在debian拉伸。 我在这里find了一个很好的综合howto: https : //www.niftiestsoftware.com/2011/08/28/making-all-network-traffic-for-a-linux-user-use-a-specific-network-interface/评论页-1 / 除了我有和以前一样的问题之外,它在很大程度上运作良好。 我可以将用户的stream量路由到vpn,但是如果vpn不存在,则会返回到eth0或其他任何地方。 如果我试图阻止与“允许tun0 ,不允许eth0 ”相等,我最终阻止tun0以及eth0“ iptables -A OUTPUT -o eth0 -m owner –uid-owner $VPNUSER -j REJECT冲突 iptables -A OUTPUT -o lo -m owner –uid-owner $VPNUSER -j ACCEPT iptables -A OUTPUT -o tun0 -m owner –uid-owner $VPNUSER -j ACCEPT 我在这里做错了什么? 下面是我第一次尝试,但现在我正在按照上面的链接格式: iptables -F OUTPUT […]

防止UDP端口扫描的有效方法

我有一个Ubuntu服务器,在某些端口有公共服务,包括TCP和UDP,并试图保护它免受端口扫描器(TCP和UDP)。 TCP扫描器块是通过使用iptables的“最近”模块来完成的,它检测并且黑名单TCP端口扫描器。 UDP端口扫描器的方式与TCP不同。 AFAIK,UDP扫描器方法是:将UDP包发送到目标服务器S中的所有(UDP)端口,如果端口Pclosures,则S将返回ICMP“端口不可达”错误码,攻击者将知道该端口已closures,开放的端口(有)是在剩余的端口。 如果没有来自S的响应,则攻击者假设端口P被防火墙过滤打开,这要花费很长时间来区分。 从这个线索,我想到了两个想法: – 除了我的服务端口,在所有端口阻塞ICMP。 – 阻止除服务端口以外的任何UDP端口。 我不擅长防范攻击。 有没有办法阻止UDP端口扫描,而不会影响我的服务端口正常运行?

OpenVPN分割路由个人用户CentOS 7

我目前正在尝试在CentOS 7上configurationOpenVPN,以便通过VPN路由来自特定用户(vpn)的所有stream量,使所有其他stream量不受影响。 我已经遵循了一个基于Ubuntu的教程 ,对CentOS 7做了必要的修改,但是在启动openVPN时,服务器似乎失去了所有用户对互联网的所有访问。 终止OpenVPN后,访问被恢复 OpenVPN在我的分割路由尝试之前工作正常。 所有configuration文件都列在这篇文章的末尾 启动时,openVPN显示以下Shell输出 主要的问题似乎是从我可以告诉的IP地址缺less的参数。 请让我知道,如果你能发现我错了什么地方。 对于Linux来说还是比较新的东西,而且在networking方面也不是很了不起,所以不胜感激。 很高兴提供任何额外的细节或debugging时可能需要的configuration文件 为server.conf client dev tun proto udp remote nl.privateinternetaccess.com 1198 resolv-retry infinite nobind persist-key persist-tun cipher aes-128-cbc auth sha1 tls-client remote-cert-tls server auth-user-pass /etc/openvpn/cred.conf auth-nocache comp-lzo verb 1 reneg-sec 0 crl-verify /etc/openvpn/crl.rsa.2048.pem ca /etc/openvpn/ca.rsa.2048.crt disable-occ script-security 2 up /etc/openvpn/iptables.sh down /etc/openvpn/update-resolv-conf iptables.sh #! […]

Linux高级路由在局域网上使用远程网关

我试图路由一个远程网关,所以它可以在局域网上使用从远程networking分配公共IP。 我已经部分成功了一些黑客,但不能完全达到我想要的。 局域网需要使用广域网B的远程网关 路由器局域网A: br0 192.168.20.8 br0:0 8.8.8.1(当然不是真正的IP)。 tap0(连接到br0网桥的OpenVPN隧道) 客户端在局域网上需要使用8.8.8.1。 局域网上的路由器需要通过tap0将8.8.8.1包发送出去 问题是Linux看到8.8.8.1,因为本地和基于源的路由到目前为止失败了。 如果任何人都可以看到解决scheme,我可以使用iptables或源代码路由表。 谢谢大家的帮助!

手动为Dockerconfigurationiptables,并允许Internet访问容器

我对Docker在修改防火墙规则方面的行为感到非常不满,因为它只是打开我服务器上的所有端口。 所以我已经安装了iptables-persistent并设置了一些防火墙规则,阻止除端口22,80和443之外的所有传入stream量,并确保Docker停止混乱这些规则,方法是创build/etc/systemd/system/docker.service.d/noiptables.conf包含以下内容: [Service] ExecStart= ExecStart=/usr/bin/dockerd –iptables=false -H "fd://" 然后重新启动服务器。 现在我的问题是,我的Docker容器不能访问互联网(接口:ens3)了。 这些是我的规则: *nat :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A POSTROUTING -o ens3 -j MASQUERADE COMMIT *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] # Allow localhost -A INPUT -i lo -j ACCEPT -A OUTPUT -o lo -j […]

fail2ban在安装iptables-persistent之后附加到链中

我已经使用了fail2ban了。 今天我想了解更多关于iptables的信息,并发现iptables-persistent。 安装,保存和清理/etc/iptables/rules.v4中的iptables规则看起来像这样 # Generated by iptables-save v1.6.0 on Thu Aug 24 15:18:11 2017 *filter :INPUT DROP [107:22965] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [267:46575] -A INPUT -p tcp -m tcp –dport 22 -j ACCEPT -A INPUT -p tcp -m tcp –sport 53 -j ACCEPT -A INPUT -p udp -m udp –sport 53 -j ACCEPT -A […]

DD-WRT Iptables压缩包没有标记

我有一个问题,即使在没有任何错误的情况下应用规则,他们也不起作用 现在我的configuration iptables -A PREROUTING -t mangle -s 192.168.0.113 -p tcp -m multiport –dports 80,443 -j MARK –set-mark 3 现在该表格有以下条目 MARK tcp — 192.168.0.113 0.0.0.0/0 multiport dports 80,443 MARK set 0x3 testingconfiguration,找出IP地址 MacBookCROSP:~ crosp$ ping www.dd-wrt.com PING www.dd-wrt.com (83.141.4.210): 56 data bytes 64 bytes from 83.141.4.210: icmp_seq=0 ttl=55 time=34.097 ms 做一些http请求 root @ CROSP路由器:〜#cat / […]

用iptables设置端口的正确方法

我想优化我的iptables脚本设置来variables端口列表: # allowed services PORTS=21,22,23 iptables -A INPUT -p tcp –match multiport –dports $PORTS -j ACCEPT 这是正确的方法吗?