Articles of 转发

转发表和最长的前缀匹配规则

出于好奇,假设我在IP路由器中有一个转发表,如下所示: 134.50.56.0/22 Interface 4 134.50.60.0/22 Interface 3 192.53.40.0/23 Interface 2 default Interface 1 路由器有以下处理数据报: 1) 134.50.63.9 2) 134.50.57.13 3) 134.50.52.3 4) 192.53.40.6 5) 192.53.56.7 转发平面是否使用最长前缀匹配规则来确定数据报应该在哪个接口上转发? 然后,数据报1应发送到接口3,2→4,3→4,4→2和5→2 …? 对?

找不到在iptables中为特定的mac地址转发的方法

我使用Linux Centos 6.3作为NAT的Internet网关。 我想允许特定主机访问Internet,但是我不想使用它的IP地址,因为它可能从DHCP服务器获得新的IP地址。 相反,我想使用一个特定的MAC地址的规则。 我用了以下,但它不起作用: iptables -t nat -A POSTROUTING -o $INTERNETDEVICE -j MASQUERADE iptables -A INPUT -i $INTERNETDEVICE -m state –state ESTABLISHED,RELATED -j ACCEPT iptables -A FORWARD -d 10.1.1.0/24 -j ACCEPT iptables -A FORWARD -m mac –mac-source {my mac address} -j ACCEPT INTERNETDEVICE是互联网的PPP设备 如果不是我input的第四条规则 iptables -A FORWARD -s 10.1.1.39 -j ACCEPT 它完美的作品。 但是使用mac地址,它不起作用。 […]

iptables的FORWARD端口到内部服务器

我一直在努力的FORWARD政策,是不是我想要的方式,我不知道是什么导致会话失败。 我希望有人能帮帮忙。 我的目标是转发从eth0的端口3000到一个内部的Windows机器端口3389出eth2,所以我可以RDP到Windows框。 下面的configuration脚本只适用于iptables -P FORWARD ACCEPT ,但是我不想那样做。 我感觉更好的iptables -P FORWARD DROP ,但这不适合我。 这是我一直在使用的脚本的最后一个版本。 请注意,这是包含我所有评论内容的整个脚本,因此您可以检查这里发生的所有事情,但请记住这是我需要帮助的FORWARD部分。 echo "Flush firewall and setting default chain policies…" iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP […]

设置一个绑定转发器,除了一个域

我试图设置本地绑定DNS服务器(第一次处理DNS服务器,知道一些关于logging): 路线* .internal,*。*。本身内部(最好是任何子域的组合), 将其他所有内容转发到192.168.0.1的父DNS服务器 首先,我想解决第二个转发问题。 父路由器/ dns将hostname.Home路由到连接到networking的计算机,但是这些请求不会被转发。 google.com和外部网站的searchfunction可以正常工作。 目前我有以下named.conf: options { directory "/var/cache/bind"; dnssec-validation no; dnssec-lookaside no; auth-nxdomain no; # conform to RFC1035 listen-on { any; }; listen-on-v6 { any; }; # Recursively forward requests onto the parent DNS forwarders { 192.168.0.1; }; recursion yes; allow-recursion { any; }; allow-query { any; }; }; 当我尝试查找域时的结果: […]

Linux iptables根据mac地址丢弃stream量

我正在做一些testing在我的linux虚拟机与一nic,我想用它作为某种防火墙,可以阻止一些客户端的基于MAC地址的stream量。 客户端本身将虚拟机作为默认网关(.254),虚​​拟机本身具有(.1实际路由器)作为默认网关。 这是我目前使用的iptable脚本。 我在我的客户端有互联网,但是.14仍然是互联网,使用mac地址时,没有任何阻止。 我错过了什么吗? # Generated by iptables-save v1.4.14 on Sun Feb 23 12:16:26 2014 *filter :INPUT ACCEPT [869:78983] :FORWARD ACCEPT [1183:197765] :OUTPUT ACCEPT [644:128360] # Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0 -A INPUT -i lo -j ACCEPT -A INPUT ! -i lo -d 127.0.0.0/8 […]

经纪人直接连接

是否可以使用具有静态IP地址的服务器来代理每个NAT后面的两个客户端之间的直接连接? 我已经使用autossh和端口转发通过服务器build立连接,但我认为这意味着客户端之间的任何交互消耗服务器资源(转发数据包和带宽的计算开销)。 我无法testing自己,因为我目前无法访问其中一个客户端。 我想象中发生的事情 (我拥有A,B和服务器,所以无论客户端首先连接哪一个,都可以等到另一个连接): client A —–> server <—– client B 我认为反向隧道方法是这样做的: A sends packet —–> server, server receives packet, server sends packet —–> B, B receives packet 反之亦然。 我想要的是: A connects —–> server (connection stays open until B connects) B connects —–> server (server tells B about A) A and B can communicate […]

IPTables / VPN转发

目标:1)允许VPN用户访问互联网没有任何限制2)允许服务器本身访问互联网,但只使用指定的端口(邮件,networking,远程访问) 服务器configuration:1)VPN(poptop / postgresql / Cake VPN计费)2)iptables 3)邮件(dovecot / postfix / spamasassin / postgrey),apache,tomcat,vsftpd,ssh 4)Arch Linux 5)Internet接口 – eth0本地接口 – eth1 VPN虚拟接口 – ppp0 问题:我制作了脚本,并创build了使用IPTables执行转发的脚本。 它只适用于ppp0接口的一个客户端。 第一个客户有完整的networking连接。 但是其他客户端不能连接任何东西。 问题:如何在任意数量的客户端上展开这个脚本? 真的,我不是pipe理员,所以我很抱歉这个蹩脚的问题(和英文不好,因为我是俄罗斯)。 但这是非常重要的,因为现在我们没有使用VPN;) TIA 这是我在/etc/rc.d/router下的脚本: #!/bin/bash . /etc/rc.conf . /etc/rc.d/functions case "$1" in start) stat_busy "Starting Iptables Rules" VPN_INTERFACES=( ppp0 ) lan_interface=eth1 internet_interface=eth0 echo "1" > /proc/sys/net/ipv4/ip_forward […]

vs vs haproxy vs? 用于基于主机名的转发

我想转发到80基于主机名的各种端口传入的stream量。 以前在serverfault我已经看到使用ldirectord,只是iptables,haproxy和其他代理服务器的解决scheme。 考虑到我正在寻找简单的代理,那么ldirectord vs haproxy的pro和con可能是什么,或许是一些纯粹的基于iptables的解决scheme? 一B

OpenWRT + OpenVPN客户端从lan到vpn的转发不起作用

我已经用Backfire 10.03.1-rc3(arch:brcm 2.6 kernel)的OpenWRT路由器 我已经build立了一个OpenVPN客户端连接我的路由器与工作区局域网,它很好地工作,我可以从路由器连接到networking(几个)在工作场所。 我的OpenVPN客户端的uci-config如下所示: config 'openvpn' 'stream_client' option 'nobind' '1' option 'float' '1' option 'client' '1' option 'reneg_sec' '0' option 'management' '127.0.0.1 31194' option 'explicit_exit_notify' '1' option 'verb' '3' option 'persist_tun' '1' option 'persist_key' '1' list 'remote' 'remote.address.cutted' option 'ca' '/lib/uci/upload/cbid.openvpn.stream_client.ca' option 'key' '/lib/uci/upload/cbid.openvpn.stream_client.key' option 'cert' '/lib/uci/upload/cbid.openvpn.stream_client.cert' option 'enable' '1' option 'dev' 'tun1' […]

使用iptables根据模式匹配(–string)redirect

我想要做的是以这种方式redirectnetworkingstream量: 每个端口80的请求都应该被redirect到一个特定的端口(4444)。 其他每个请求都会转到80端口。 由于我不能通过使用networking代理模块和/或出于各种原因转发,我正在寻找一种方法来做到这一点与iptables。 受这篇文章的启发,我对我的iptables使用了这个规则: sudo iptables -t nat -A PREROUTING -p tcp –dport 80 \ -m string –algo bm –string 'GET /mjpegcgi.cgi' \ -j REDIRECT –to-port 4444 然后,我打开两个netcat进程在4444和80上进行侦听。但是,当我尝试使用以下规则testing规则时: wget -qO- http://192.168.1.88/mjpegcgi.cgi 我所拥有的只是端口80的响应。 我究竟做错了什么?