我正在尝试configurationopenvpn,以便只有来自特定进程的stream量通过vpn,但是这些进程可以连接到任何地方。 我试图通过让openvpn不做任何路由configuration( –route-noexec )并让应用程序显式连接到tun接口(例如: curl –interface tun0 'http://www.ipchicken.com' : curl –interface tun0 'http://www.ipchicken.com' ),但connect()似乎超时。 为了使tun界面快乐,我还需要采取其他一些措施吗?
据我所知,在主接口iptables上没有办法区分VLANstream量(也就是虚拟VLAN接口添加了vconfig或ip link添加链接的接口;我不知道这是否正确,我鼓励你纠正我)。 一般来说这没有问题,因为您可以使用虚拟VLAN接口而不是主接口进行匹配,例如 iptables -A INPUT -i eth0.1 -p tcp -m tcp –dport 22 -j ACCEPT 这将允许TCP端口22(SSH)数据包到达eth0.1 ,这是到达eth0数据包,使用VLAN-ID 1标记。 如果只想匹配主接口上未标记的stream量,则会出现问题 iptables -A INPUT -i eth0 -p tcp -m tcp –dport 53 -j ACCEPT 我们的意图是匹配到达eth0的TCP端口53(DNS)数据包,而不使用VLAN标记,但我们也将数据包与到达eth0任何其他VLAN-Tag进行匹配。 所以可能的解决方法是在规则中包含主接口的IP地址/子网。 假设我们在eth0上使用10.0.0.0/24,在eth0.1上使用eth0.1 : iptables -A INPUT -i eth0 -d 10.0.0.0/24 -p tcp -m tcp –dport 53 -j ACCEPT 不幸的是,这有两个缺点: 我们也使用伪造的IP地址来匹配数据包,没有什么能阻止恶意或错误configuration的客户端发送10.0.0.0/24和VLAN-ID 1的数据包。一般来说,这不应该是一个问题,因为对这个数据包的回答会把另一个路由返回并不会达到原来的 […]
我已经使用这个链接在Ubuntu的服务器12.04安装LXC。 它已成功安装,我可以使用ubutu / ubuntu作为用户名和密码login。 然后我试图为LXC容器设置networking。 我在/ etc / network / interface中更改为 auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 125.67.43.100 netmask 255.255.255.0 broadcast 178.33.40.255 gateway 125.67.43.1 / var / lib / lxc / mycontainer / config的内容是: lxc.utsname = mycontainer lxc.mount = /var/lib/lxc/test/fstab lxc.rootfs = /var/lib/lxc/test/rootfs lxc.network.type = veth lxc.network.flags = […]
上下文 我在我的Ubuntu笔记本电脑上开发网站(Ubuntu 13.04 64b)。 每个站点在networking10.0.3.x的专用LXC容器¹内运行 我有时需要从运行Windows®的虚拟客户端访问这些站点 它曾经是“开箱即用”的工作,但几个星期前,它刚刚停止。 我猜在Ubuntu更新之后,它是一个LXC还是一个Virtualbox,甚至是一个“networking内容”更新? 我不知道,因为我不是每天都在进行这些testing。 ¹假冒各种复杂的平台,只使用我实际需要的资源。 ²在Windows浏览器下testing它们。 问题是: 我应该如何设置我的Virtualbox / LXC /主机networkingconfiguration才能从Virtualbox guest虚拟机访问LXC容器上的网站? 我到目前为止所做的 我目前的virtualbox设置是有2个网卡。 wlan0上的一个网桥(上网) LXC虚拟卡lxcbr0上的桥(访问容器) 一个奇怪的事情:我可以从Windows VM ping LXC容器,但是我无法通过HTTP(浏览器或80端口上的telnet)访问它们。 只有实际启动的容器才能响应ping。 我尝试了一些其他的设置,但我更“猜测”比了解正在发生的事情。 我目前的workarround 我用iptables在主机上设置了一个端口,就像我在整个networking上build立一个容器一样(实际上它是这么做的)。 当我这样做时,我可以从Windows VM到达转发的容器。 但是,这绝对不是一个干净的解决scheme: 我当时只能访问一个容器(或者我必须使用不同的端口) 我需要重新configurationiptables任何时候我切换项目 我实际上允许外部世界访问容器 我需要有一个活跃的LAN或WAN连接 我几乎不能使用域名了(我有一个在Windows中匹配容器的IP主机文件)
我正在运行带有防火墙的Ubuntu Server 14.04系统。 Shorewall基本上是iptables的前端,而通过Netfilter进行日志logging的是iptables(迄今为止我的理解)。 我的问题是我无法理解有关login到不同目的地的shorewall文档 。 这是我来了多远: 我安装并启动了ulogd 我在/etc/shorewall/params定义了一个variables: LOG=NFLOG 我在/etc/shorewall/shorewall.conf所有出现的info都更改为$LOG 我在/etc/shorewall/shorewall.conf设置了日志目的地: LOGFILE=/var/log/shorewall 这应该是完成以下内容:Netfilterlogging到NFLOG ( NFLOG后继者)目的地,这意味着Netfilter日志消息由ulogd2处理。 我不知道的是,我可以告诉ulogd2将所有的shorewall消息写入我所需的日志文件/var/log/shorewall 。 这个文件是相当不清楚的,因为这个论坛线程certificate。 我发现这个博客文章同样含糊,关于ulogd2的日志redirect。 综上所述: 我的方法是将shorewall日志消息redirect到ulogd2是否正确? 如何configurationulogd2将shorewall的消息redirect到/var/log/shorewall ? PS:我不是在AskUbuntu上问这个问题,因为这与其他Linux发行版同样重要。
我在Debian服务器上工作,我试图找出我的IPTable规则存储在哪里。 从互联网上看,我发现通常有两个地方是通常保存。 http://major.io/2009/11/16/automatically-loading-iptables-on-debianubuntu/build议/etc/network/if-up.d/iptables但该文件不存在于该目录中。 http://beginlinux.wordpress.com/2009/05/26/saving-changes-for-iptables/ /etc/sysconfig/iptables但是/etc/sysconfig目录不存在。 据我所知,以前的pipe理员为了安全起见,将公用文件保存到不同的位置并不罕见,而且我想知道是否有一种方法可以让我find保存规则的位置,当iptables-save命令被使用。 该页面还指出,使用位于/etc/init.d/iptables的脚本来恢复文件,但这也不存在。 有关如何进一步了解规则保存位置的任何帮助或build议? 我知道我可以尝试使用grep来find一个可能位于规则中的罕见的string,但我觉得必须有一个更简单,更直接的方法。 更新: 感谢您的帮助。 我尝试使用grep来search/ etc目录,但花了很长时间,我不想冒内存的风险,所以我就停下了。 我想我会尝试使用strace作为一个不太密集的方法。 从通过strace我看到了线(我把IP地址改为1.1.1.1): `open("/etc/protocols", O_RDONLY|O_CLOEXEC) = 5 fstat64(5, {st_mode=S_IFREG|0644, st_size=2859, …}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7747000 read(5, "# Internet (IP) protocols\n#\n# Up"…, 4096) = 2859 close(5) = 0 munmap(0xb7747000, 4096) = 0 write(1, "-A net2fw -s 1.1.1.1/32 -pt"…, […]
我的Web服务器在ELB后面,我想阻止来自某个DDOS攻击的特定用户代理的stream量。 Apache总是看到ELB的IP地址作为最终用户,所以我尝试了下面的尝试: 阻止在ELB级别的IP地址是不可能的,因为它有20个IP地址的限制和IP地址在每次攻击时改变。 阻止访问使用重写条件,这个工程,但如果很多命中来,然后服务器负载超过100,所有的Apache线程忙于服务吨的403,所以网站出现合法的请求。 RewriteCond %{HTTP_USER_AGENT} ^SomeThing RewriteRule ^(.*)$ – [F] 用mod_sec块做同样的事情的服务403创造相同的效果上面#2。 使用iptables阻止数据包string模块:阻止具有特定用户代理的数据包。 在这种情况下,iptables发送DROP / REJECT给攻击者,apache没有得到连接现在已经死了的信号,并等待超时导致所有的apache线程超时使用,所以这个方法在这里没有用处。 iptables -I INPUT -i eth0 -p tcp –dport 80 -m string –algo bm –string 'user-agent: SomeThing' -j REJECT 我可以使用iptables的方式,它会从第一个包含user-agent: SomeThing数据包获取IP地址,并阻止所有下一个具有X-Forwarded-For: someIP数据包,时间为4-5小时。 我不想永远阻止IP地址阻塞,因为这些IP地址可以分配给一些合法的用户,并将被阻止。 或者还有其他更好的办法来处理这个攻击吗?
我有两个Docker容器,我试图以特定的方式联网。 容器A正在端口6379上运行Redis服务器。容器B正在运行交互式shell并需要访问Redis。 使用Docker的链接function,容器B内的用户可以通过10.1.0.2:6379连接到Redis,通过Docker设置的虚拟eth0接口。 有一个程序将在容器B中运行,期望Redis在环回接口的端口6379上可用。 假设这个程序不能被configuration指向一个不同的IP。 我想转发stream量到127.0.0.1:6379到10.1.0.2:6379。 我已经尝试了NAT表上的iptables规则的几个变种,但是当我尝试连接到本地地址/端口,或者连接永远挂起时,我要么“连接被拒绝”。 我可以用什么iptables规则来达到这个效果? 这是我尝试的一件事情: $ sudo iptables -t nat -S -P PREROUTING ACCEPT -P INPUT ACCEPT -P OUTPUT ACCEPT -P POSTROUTING ACCEPT -A INPUT -d 10.1.0.2/32 -p tcp -m tcp –dport 6379 -j SNAT –to-source 127.0.0.1 -A OUTPUT -p tcp -m tcp –dport 6379 -j DNAT –to-destination 10.1.0.2:6379 使用上述规则尝试使用redis-cli连接到Redis将永远挂起。 我试过这个使用PREROUTING […]
假设有以下场景,如果我有本地机器(A)请求另一台机器(B)使用B的内部IP而不考虑端口。 但是A和B不在同一个networking上,但是B有一个公共IP。 我想要做的是当使用B的内部IP从机器A请求机器B时,发生一些路由并将B的内部IP转换为其公有IP。 鉴于两台机器的操作系统是Ubuntu 14.04,如何实现这个function?
我有一个运行在端口8443上的节点应用程序。我的nginx处理端口80和443上的web请求,并将用户redirect到8443。 这里是我的/etc/nginx/sites-enabled/defaultconfiguration: upstream my_upstream { server 127.0.0.1:8443; keepalive 64; } server { listen 80; server_name myapp.com; rewrite ^/(.*) https://myapp.com/$1 permanent; } server { listen 443 ssl; server_name 12.34.12.34 www.myapp.com myapp.com *.myapp.com; ssl_certificate /path/to/my/cert.crt; ssl_certificate_key /path/to/my/private.key // other ssl params location / { proxy_redirect off; proxy_pass https://my_upstream; // other params } } 有了这个configuration我可以通过访问我的应用程序 http(s)://myapp.com:8443 只有当我添加下面的iptables iptables […]