Articles of iptables

iptables – 转发+伪装

我是新来的iptables,并尝试将我的Linux服务器设置为我的其他计算机的网关。所以自然我玩iptables,需要一些帮助 我的服务器有2个NIC卡, eth0(WAN)和eth1(LAN) 我的目标是: 对于我来说,有SSH访问到Linux服务器 将所有进入eth1(LAN)的http(80)和https(443)通信转发到eth0,并进行ip伪装 进入eth1的所有其他stream量(主要是来自LAN客户端的DHCP请求)不应该转发到eth0 不允许LAN客户端运行任何服务即。 只能访问网页(tcp:80/443) 我到目前为止的规则是: #To clear all IPTables Rules iptables –flush iptables –table nat –flush iptables –delete-chain iptables –table nat –delete-chain #allow me to ssh into the server + access the web server on it #ssh iptables –table FILTER -A INPUT -p tcp –dport 22 -j ACCEPT #webserver iptables […]

iptables转发问题

我已经初步问了关于为我的家庭networking安放我的linux的盒子的问题,并在这里的线程给了build议。 不想混淆旧的问题,所以在这里开始一个新的问题。 根据以前的build议,我已经提出了以下规则… :PREROUTING ACCEPT [1:48] :OUTPUT ACCEPT [12:860] :POSTROUTING ACCEPT [3:228] -A POSTROUTING -o eth0 -j MASQUERADE COMMIT *filter :INPUT DROP [3:228] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] -A INPUT -i lo -j ACCEPT -A INPUT -i eth0 -p icmp -j ACCEPT -A INPUT -i eth0 -p tcp -m tcp –dport 80 -j ACCEPT […]

丢包iptables =浪费带宽?

最近我在我的iptables上做这个: -A INPUT -p tcp –dst 192.168.0.0/16 -m hashlimit –hashlimit-above 32/sec –hashlimit-mode dstip –hashlimit-name hosts -j DROP 看来如果我的客户端以超过32 pkt / s的速度从网上接收数据包,iptables真的会丢弃它,我的问题是丢弃的数据包是浪费的吗? 或者TCP协议会适应它,所以它会请求更less的数据包?

使用iptables和不同的networking接口转发MySQL连接

我有一台Ubuntu的PC作为路由器。 它与互联网有一个公共IP的3G连接,并有一个私人无线子网。 所以它有两个活动接口: ppp0:公共IP(WAN) wlan0:私有IP(LAN) 随着iptables我想转发每个MySQL连接 (端口3306)到本地机器(10.42.43.10)的子网。 我input这些iptables命令: iptables -A PREROUTING -t nat -i ppp0 -p tcp –dport 3306 -j DNAT –to 10.42.43.10:3306 iptables -A FORWARD -p tcp -i ppp0 -o wlan0 -d 10.42.43.10 –dport 3306 -j ACCEPT 但它不起作用。 telnet公开3306失败:-( 任何帮助将不胜感激。 谢谢!

与LXC容器的服务器上的fail2ban

问题是modprobe和iptables不能在LXC容器内工作。 LXC是Linux容器的用户空间控制包,这是一种轻量级的虚拟系统机制,有时被称为“chroot on steroids”。 容器内的iptables错误是: # iptables -I INPUT -s 122.129.126.194 -j DROP > iptables v1.4.8: can't initialize iptables table `filter': Table does not exist (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded. 我猜测它不能工作,因为LXC容器共享一个内核,主要的服务器内核。 在这种情况下,我如何做fail2ban。 modprobe和iptables在主服务器上工作,所以我可以在那里安装它,并以某种方式链接到日志文件,我的猜测? 有什么build议么?

按组限制ssh隧道端口访问

我的理解是,当创build到远程机器的SSH隧道时,端口在该机器上打开供任何人使用,并连接回我的本地盒子(不仅仅是打开隧道的用户)。 有没有办法将访问远程机器上打开的端口限制到指定的unix组? 我想这可能是通过iptables规则或其他TCP / IP端口的限制,但我不完全确定。 谢谢

使用iptables转发ssh

我发现了几个关于如何做的教程,但没有得到它们的工作:/ 我的设置: 防火墙 – 可从networking访问 – eth0:xxx.xxx.xxx.xxx(公共IP) – eth1:192.168.1.1 服务器 – 从FIREWALL可达 – eth0:192.168.1.5 因为我仍然希望能够连接到端口22上的防火墙,我想将端口2222上的传入连接转发到192.168.1.5:22。 ping和ssh从防火墙到SERVER的工作。 ping和ssh从服务器到防火墙的工作(尽pipelogin只允许与公共密钥和服务器不允许…) ping和ssh从任何地方到防火墙工作。 IP转发已启用: # sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 1 过帐我的iptables规则没有太大的意义,因为没有任何规则的工作(使用PREROUTING,POSTROUTING,FORWARD …),没有其他规则。 是的,我的防火墙不会阻塞任何东西。 但这不是关于安全(还)。 我尝试了我在第一页中find的所有内容: https : //www.google.de/search?q=iptables+forward+ssh 有什么build议么? 问候,延斯 UPDATE下面是使用Khaled的iptables命令后tcpdump -n -i any的输出: 15:42:33.852718 IP home-ip.56008 > firewall-public-ip.2222: Flags [S], seq 1141341765, win 14600, options [mss 1460,sackOK,TS val 871214 […]

Sendmail和IpTable规则

我需要使用nginx,ssh和sendmail为服务器设置IpTable规则。 现在,问题是,用我的规则,我不能再发送电子邮件给其他主机。 电子邮件到本地主机工作,但发送到不同的服务器不,当防火墙启动。 我试图打开传入和传出端口25和DNS查找端口,但没有任何工作。 有任何想法吗? 更新: 这是我的规则: #! /bin/sh # firewall iptable rules interface="eth0" # first, deny all iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # open loopback device completely iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # open ssh ports iptables -A […]

防止两台路由器无休止的转发

问题中的networking基本上是这样的: /—-Inet1 / H1—[111.0/24]—GW1—[99.0/24] \—-GW2—–Inet2 设备说明 H1:IP为192.168.111.47的主机 GW1:IP地址为192.168.111.1和192.168.99.2的Linux机器,以及自己的路由到互联网。 GW2:具有IP 192.168.99.1的通用无线路由器及其到互联网的路由。 Inet1和Inet2:两条可能的路线到互联网 简而言之:H有超过一个可能的路线到互联网。 H应该只在GW2上访问互联网,所以GW1有一些专门针对H1的策略路由: ip rule add from 192.168.111.47 table 991 ip route add default via 192.168.99.1 table 991 尽pipe只要GW2与互联网有直接的联系,这个问题就会起作用,但当链路断开时就会出现问题。 接下来发生的事情是,GW2将数据包转发回GW1,再次转发回GW2,造成无限循环的TCP乒乓。 最好的结果是数据包刚被丢弃。 GW1上的iptables可以做些什么来防止这种情况? 基本上,一个iptables友好版本的“如果数据包来自GW2,但起源于H1,放弃它” 注1:最好不要改变GW2上的任何内容。 注2:H1需要能够与GW1和GW2通话,反之亦然,但只有GW2才能通向互联网 TLDR; H1只能通过GW2接入互联网,但仍然需要能够与GW1和GW2通话。 编辑: GW1的接口是“99”networkingbr0.105,“111”networking是br0.111。 溶剂可能会或可能不会令人讨厌的简单,但我还没有能够自己产生正确的iptables语法,所以帮助将不胜感激。 PS:这是这个问题的后续问题

如何将IP请求转发到特定的端口

我有2台服务器 第一个(SRV01)正在运行绑定和其他Web应用程序 第二个(SRV02)运行2个服务器我的世界(^^) 在绑定我有2个服务器MC的录音 s1.domain.tld A SRV02IP s2.domain.tld A SRV02IP 2 MC服务器在2个不同的端口25565和25566上运行 所以我希望来自s1.domain.tld:25565的请求将发送到SRV02IP:25565并且来自s2.domain.tld:25565的请求将发送到SRV02IP:25566 我想我需要在SRV02 iptables中做这个。 我已经看了一些关于iptables的话题,但是和我无关。 你可以帮帮我吗 ? RGDS。