我需要阻止我的服务器发起与远程服务器的任何连接。
但是,我仍然希望服务器能够从通过连接的客户端发起的连接进行回复。
换句话说,我希望其他人能够连接到服务器,但服务器无法启动到其他服务器的远程连接。
我怎样才能做到这一点?
我正在使用 Ubuntu。
我在一家主要修复 Windows 计算机的小型 IT 公司工作,最近我们在 Windows 10 更新方面遇到了一个大问题。
当一台新计算机进入我们的网络并开始下载更新时,它会阻止所有其他 PC 的互联网。
我读到这是因为新的 P2P 模式,如果我手动禁用它,实际上它可以工作。
但是每次新客户带来他的电脑时,我无法手动禁用每台客户端电脑上的设置。
有没有办法用防火墙阻止这种行为?我正在运行带有 FireHol 的 Ubuntu Server 来管理我的网络内的互联网,目前我没有设置任何 QoS,因为我们有足够的带宽,当我们在计算机上下载某些东西时,我们希望全速进行。
有什么想法吗?
我有一个动态 WAN IP,所以如果它改变了我的 iptables 将不再适用。
这是我的工作发夹 nat,其中 xxxx 是我的 WAN IP
br0 - LAN
eth1 - WAN
-A PREROUTING -d x.x.x.x -p tcp --dport 80 -j DNAT --to-destination 192.168.0.9
-A POSTROUTING -s 192.168.0.0/27 -d 192.168.0.0/27 -o br0 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/27 -o eth1 -j MASQUERADE
Run Code Online (Sandbox Code Playgroud)
是否有另一种方法可以让我不必-d x.x.x.x专门使用以防万一我的 WAN IP 发生变化?
我想使用 OpenVPN 建立两个 VPN 的隧道。因此,客户端将连接到第一个 VPN 并重定向到第二个 VPN。(这些都是 VPS,我没有物理访问它,因为稍后它会很重要。)
所以,这是图片:
Client VPN1 VPN2
10.8.0.2[tun0]------10.8.0.1[tun0]
[1.1.1.1][eth0] 10.8.100.2[tun1]----------10.8.100.1[tun0]
45.55.45.55[eth0] 186.186.186.186[eth0]------internet
Run Code Online (Sandbox Code Playgroud)
服务器配置是一个非常标准的配置:
port 1194
auth-user-pass-verify /etc/openvpn/script/login.py via-env
username-as-common-name
script-security 3
proto udp
dev tun
duplicate-cn
sndbuf 0
rcvbuf 0
vca ca.crt
cert server.crt
key server.key
dh dh.pem
tls-auth ta.key 0
topology subnet
server 10.8.0.0 255.255.255.0 (or 10.8.100.0 in the VPN2)
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
keepalive 10 120
cipher AES-128-CBC
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
crl-verify …Run Code Online (Sandbox Code Playgroud) 每个早晨,俄罗斯联邦都在不断攻击我们的网站。每一天我都会阻止他们的 IP 地址,他们每天都会使用一个新的子网。我试过:
-A INPUT -s 4.53.0.0/16 -j DROP
-A INPUT -s 173.205.0.0/16 -j DROP
-A INPUT -s 37.9.0.0/16 -j DROP
-A INPUT -s 213.180.0.0/16 -j DROP
-A INPUT -s 5.255.0.0/16 -j DROP
-A INPUT -s 141.8.0.0/16 -j DROP
-A INPUT -s 87.250.0.0/16 -j DROP
-A INPUT -s 178.154.0.0/16 -j DROP
-A INPUT -s 5.45.0.0/16 -j DROP
Run Code Online (Sandbox Code Playgroud)
如何在我的 iptables 中阻止整个俄罗斯联邦 IP 范围?
目前我的路由器面临一个非常奇怪的问题。我有TP-Link TL-WDR4300 rev。1.7 运行 OpenWRT 18.06.1。
问题最初出现在1-2个月前,当时我有OpenWRT 15.05,而路由器上的最后一次配置更改(升级到18.06.1之前)大约是一年前。
因此,1-2 个月前,我注意到某些网站无法在所有浏览器中的所有设备(带 iOS 的 iPhone、Android 手机、Ubuntu 笔记本电脑、Windows 笔记本电脑)上加载。但是,如果设备与 WiFi 断开连接并使用例如蜂窝网络,则网站会立即加载。
我的 ISP 是 Deutsche Telekom,没有加载的网站的一个很好的例子是https://telekom.de,通常预计可以访问。
我已经升级到最新的稳定版 OpenWRT 并开始调查这个问题。日志中没有丢弃的数据包或路由器上与问题相关的任何其他错误消息。Curl 能够直接在路由器上获取受影响网站 (telekom.de) 的内容:
root@OpenWrt:~# curl --tlsv1.0 -v https://telekom.de
> GET / HTTP/1.1
> Host: telekom.de
> User-Agent: curl/7.60.0
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Date: Sat, 01 Sep 2018 20:56:23 GMT
< Server: Apache
< Location: https://www.telekom.de/start
< Content-Length: 236
< Content-Type: text/html; charset=iso-8859-1
<
<!DOCTYPE HTML …Run Code Online (Sandbox Code Playgroud) 问题很简单,但我认为答案可能不是,因为我浏览了无数相关主题而没有具体答复。
我想转发端口1234从x.x.x.x到y.y.y.y(包括互联网上在不同的位置,即y.y.y.y是不是像一个内部IP10.a.b.c等)的方式,y.y.y.y能够获得原始的源IP连接x.x.x.x。
现在,它x.x.x.x使用通常的 SNAT 或 MASQUERADE 规则将源 IP 视为源 IP。如果y.y.y.y是某个内部 IP(例如在其上运行的 lxc 容器x.x.x.x),则相同的规则起作用并且容器能够看到实际的源 IP,但如果y.y.y.y是外部IP,则无法看到。
这可以以任何方式实现吗?
我会在一开始就承认我是在找到答案并想与其他人分享之后才提出这个问题的。如果这是不好的形式,那么我真诚地道歉,我愿意接受有关以正确方式分享这些来之不易的信息的建议。如果这是一个重复,请关闭它并将访问者指向原始问题。
那么,如何配置 firewalld(在我的情况下,使用 CentOS 7.6)来阻止除特定端口之外的所有传出流量,同时还允许 localhost 访问其自己的任何本地端口?
我从这个开始:
# First, allow outbound traffic for all allowed inbound traffic
firewall-cmd --direct --add-rule ipv4 filter OUTPUT 0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Allow outbound HTTP, HTTPS, DNS
firewall-cmd --direct --add-rule ipv4 filter OUTPUT 1 -p icmp -m icmp --icmp-type=ping -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter OUTPUT 1 -p tcp -m tcp --dport 53 -j ACCEPT
firewall-cmd --direct --add-rule ipv4 filter OUTPUT 1 -p udp --dport 53 -j ACCEPT
firewall-cmd …Run Code Online (Sandbox Code Playgroud) 我有一个带有多个虚拟机(来宾)的 KVM 服务器(主机)。
我的目标是我的主机将端口 222 转发到运行 ssh 服务的来宾的端口 22。
这工作...
iptables -I OUTPUT -d 0.0.0.0/0 -j ACCEPT
iptables -I FORWARD -d 0.0.0.0/0 -j ACCEPT
iptables -I INPUT -d 0.0.0.0/0 -j ACCEPT
iptables -t nat -I PREROUTING -d 0.0.0.0/0 -p tcp --dport 222 -j DNAT --to-destination 10.1.0.9:22
Run Code Online (Sandbox Code Playgroud)
这行不通...
firewall-cmd --permanent --zone=public --direct --add-rule ipv4 filter OUTPUT 0 -d 0.0.0.0/0 -j ACCEPT
firewall-cmd --permanent --zone=public --direct --add-rule ipv4 filter FORWARD 0 -d 0.0.0.0/0 -j ACCEPT
firewall-cmd --permanent --zone=public …Run Code Online (Sandbox Code Playgroud)