我正在尝试将所有输出HTTP和HTTPS数据包redirect到我的自定义链,但它不起作用 这是我的规则 iptables -t nat -N CUSTOMCHAIN iptables -t nat -A PREROUTING -p tcp –dport 443 -j CUSTOMCHAIN iptables -t nat -A PREROUTING -p tcp –dport 80 -j CUSTOMCHAIN 但是这不起作用,当我尝试使用wget或curl那样的wget somesite.com它不会被redirect。 这是统计输出。 Chain PREROUTING (policy ACCEPT 7 packets, 1418 bytes) num pkts bytes target prot opt in out source destination 1 0 0 CUSTOMCHAIN tcp […]
我想通过我的服务器只为访问(a)特定的网站提供OpenVPN的VPN服务给熟人。 事实上,即使我相信他们是为了让他们访问我的服务器,但我不希望他们能够在互联网上做任何事情,因为我是服务器的所有者,并为任何事情负责从它完成。 有没有办法OpenVPN或从服务器的防火墙configuration来实现这一限制?
由于不必要的原因,我必须通过互联网运行TFTP服务器。 根据RFC 1350 ,在连接期间使用的每个端点都有一个随机端口。 但是,对于UDP NAT固定,显然只允许从同一个端口响应的请求消息。 这是一个stream量的例子: 客户端:192.168.1.2(NAT设备/网关.1) 客户的公共IP:50.1.1.1 服务器:12.50.100.1:69(公共服务器,不在NAT后面) 客户端: 192.168.1.2:45613 -> 12.50.100.1:69 服务器端: 50.1.1.1:45613 -> 12.50.100.1:69 12.50.100.1:29412 -> 50.1.1.1:45613 在服务器端select的TID是29412,但是请求端口是69.我需要的是确保这个stream量是用源端口69发送的。有没有什么办法可以在不改变源代码TFTP服务器? 我见过一些令人印象深刻的iptables魔术,所以我在这里问。
我正在尝试使用iptablesconfiguration专用的防火墙, 在这里看到我的networking图 我的防火墙有5个接口4用于networking和其他万用 WAN eth0 192.168.1.2/24 Lan1 eth1 192.150.1.1/24 Lan2 eth2 192.131.1.1/24 我已启用转发 root @ FW#cat / proc / sys / net / ipv4 / ip_forward 1 我也创build了以下nat规则,以允许networkingstream量(槽路由器192.168.1.1) iptables -A POSTROUTING -t nat -o eth0 -s 192.131.1.0/24 -d 0/0 -j MASQUERADE iptables -A POSTROUTING -t nat -o eth0 -s 192.150.1.0/24 -d 0/0 -j MASQUERADE 与政策默认“接受”我们有互联网接入,但是当我改变政策FORWARD到DROP。 […]
我正在与不同的托pipe公司运行几个vps。 我们的一台服务器最近引起了很多麻烦,随机拒绝某些networking(办公室,家庭,移动热点)访问服务器。 有些日子,它没有任何问题,有一天,它完全被封锁。 我也有一个专用的服务器监视器,告诉我所有的服务都可以联机。 Pinging仍在工作,但是通过SSH,Port 80等访问被立即拒绝。 我正在运行fail2ban,但在日志中没有看到任何阻塞的IP地址。 所以我的假设是这个问题是由我的iptables规则集引起的。 Chain INPUT (policy DROP) target prot opt source destination ACCEPT all — anywhere anywhere ctstate RELATED,ESTABLISHED ACCEPT all — anywhere anywhere DROP all — anywhere anywhere ctstate INVALID ACCEPT icmp — anywhere anywhere icmp echo-request ctstate NEW UDP udp — anywhere anywhere ctstate NEW TCP tcp — […]
我需要模拟一个stream量减慢到某个服务。 这意味着我需要在特定的端口上减慢连接。 我有这个脚本,在所有的端口上引入了一个特定的IP延迟,但其他服务在该系统上运行,我不能放慢速度。 echo "simulating slowdown infrstructure on interface $DEV to IP:$IP for port:$PORT"; tc qdisc del dev $DEV root tc qdisc add dev $DEV handle 1: root htb tc class add dev $DEV parent 1: classid 1:15 htb rate 1000Mbps tc qdisc add dev $DEV parent 1:15 handle 11 netem delay 4000ms 2000ms distribution […]
是否可以绕过通过桥接适配器的数据包的iptables规则? ebtables -t broute -A BROUTING -s 00:00:00:00:00:01 -d 00:00:00:00:00:02 -p IPV4 -j ACCEPT 规则匹配和计数器增加,但更高级别的iptables规则阻止数据包。 我想find一个解决scheme是在iptables丢失的mac目标问题。 我有一个客户端连接通过一个Linux网桥,必须能够通过这个桥梁网关发送ip数据包,但这样的匹配是不可能的iptables,因为目的ip是该网站的ip什么客户端尝试访问,源端是客户端IP。 如果可以说-s客户端–dstmac路由器和目标IP可以是任何像DST = 199.191.50.73这将解决我所有的问题。
我在Linux上有一个iptables安装程序,这是看到一个端口到我configuration的日志捕获。 但是我不明白为什么它应该被捕获。 这是日志条目,…. Jun 9 14:12:16 server2 kernel: iptables_dropIN=eth1 OUT= MAC=00:50:56:90:22:87:00:50:56:90:68:4f:08:00 SRC=192.168.100.94 DST=192.168.100.63 LEN=173 TOS=0x00 PREC=0x00 TTL=64 ID=19707 DF PROTO=TCP SPT=3872 DPT=49634 WINDOW=6151 RES=0x00 ACK PSH URGP=0 主机名是server2,IP地址是192.168.100.63(匿名)。 我在LOGGING链的末尾有一个“全部接受”。 当我做一个“netstat -anp”它显示以下内容 [root@server2 ~]# netstat -anp |grep -i 49634 Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp […]
我有一组相同的亚马逊linux ec-2前端Web服务器,通过Elastic Load Balancer(ELB)提供Web内容。 他们每个人都有一个公共IP,所以当他们连接到外部服务的www,他们的ips被logging为几个不同的。 我希望这些服务器通过ELB继续提供他们的networking内容,但是通过NAT网关使用它的单个弹性IP连接到外部世界。 以下是我所做的: 1)在同一个子网( 10.0.1.100是ip)创build了NAT网关,因为ec2 machines +为它分配了一个弹性ip。 2) route add -host ifconfig.co gw 10.0.1.100 dev eth0 route add -host otherservice gw 10.0.1.100 dev eth0 … 现在curl ifconfig.co返回NAT网关的外部弹性IP&它是伟大的:),但是我需要所有的stream量去通过NAT网关,除了通过ELB的。 更新:这是我做了什么来完成任务:1)删除自定义路由ifconfig.co及其他服务; 2)创build第二个子网10.0.200.0/24; 3)将NAT网关作为默认网关添加到其路由表中; 4)将以下行添加到/etc/rc.d/rc.local以便在启动时运行它们: for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done echo 1 > /proc/sys/net/ipv4/route/flush if [ -z "`cat /etc/iproute2/rt_tables | […]
我有很多的GRE接口(即ppp0,ppp1,…)。 我想复制并发送通过这些接口的数据包到一个虚拟的接口,如虚拟的一些过程。 我必须使用tc命令。 我的tc命令如下: tc qdisc add dev ppp0 ingress tc filter add dev ppp0 parent ffff: \ protocol all prio 2 u32 \ match u32 0 0 flowid 1:1 \ action mirred egress mirror dev dummyone 对于传出stream量 tc qdisc replace dev ppp0 parent root handle 10: prio tc filter add dev ppp0 parent 10: […]