我在使用 iptables 和 PPTP VPN 时遇到问题,我已经阅读了相关主题和在线内容,但仍然无法正常工作!我正在尝试在我们本地网络的 ubuntu 服务器上设置 PPTP,以强制客户端必须通过 VPN 登录才能访问互联网。ubuntu 服务器直接连接到互联网。
在我的 rc.local 我有以下内容要转发和接受 gre
# PPTP IP forwarding
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A INPUT -p gre -j ACCEPT
sudo iptables -A OUTPUT -p gre -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
这显示在我的 iptables 列表中,所以我知道它在那里。
我在服务器上使用 CSF 作为我的防火墙,如果禁用它,我可以连接到 VPN 并通过它浏览互联网,如果启用 CSF,我要么“被通信设备断开连接”,要么我可以连接但无法访问互联网通过 VPN。
这也有一个奇怪的问题,它似乎时不时地通过防火墙工作!
我打开了以下端口:
TCP_IN = ...47,53,80,92,110,143,443,465,587,993,995,1723,7777..
TCP_OUT = ...47,53,80,92,110,113,443,1723,25565,7777...
UDP_IN = 20,21,47,53,1723,27015,27025
UDP_OUT = 20,21,47,53,113,123,1723,27015, 27025
Run Code Online (Sandbox Code Playgroud)
你对如何解决这个问题有什么建议吗?您需要更多信息吗?
非常感谢您的时间,
根据要求提供额外信息:
iptables -nvL
Chain INPUT (policy DROP …Run Code Online (Sandbox Code Playgroud) 我只想在远程 Ubuntu 服务器上的 csf 防火墙后面本地访问 docker 容器。我将DOCKER设置选项更改为/etc/csf/csf.conf允许1docker 更改 iptable 规则。
如果我使用 启动容器-p 8000:8000,则该端口8000将向全世界公开(我可以mydomain.com:8000按预期使用 访问网站,但不是我想要的)。如果我用 启动容器,则-p 127.0.0.1:8000:8000无法访问它mydomain.com:8000(这很好),但在这两种情况下,调用localhost:8000都会导致ERR_EMPTY_RESPONSEChrome 或curl: (52) Empty reply from server终端中出现错误。
尝试使用不同的容器和不同的端口。禁用csf后,它可以正常工作,不会出现空回复错误,因此它必须与csf相关。
如何配置csf仅在本地通过特定端口公开和访问docker容器?
旁注:我正在使用ssh admin@mydomain.com -L 8000:localhost:8000.
我将我的/etc/hosts.allow文件修改为
sshd : 192.168.0.0/255.255.255.0 : allow
sshd : xxx.xxx.xxx.* : allow
sshd : ALL : deny
Run Code Online (Sandbox Code Playgroud)
(其中 xxx 代表我的实际 IP 地址编号,通配符 * 代表整个范围 0-255)然后重新启动 sshd 和 Apache Web 服务器。我观察了接下来的一周,因为来自外国的 IP 地址继续出现在/etc/csf/csf.deny.
116.31.116.15 # lfd: (sshd) Failed SSH login from 116.31.116.15 (CN/China/-): 5 in the last 300 secs ...
Run Code Online (Sandbox Code Playgroud)
我的期望是否正确,hosts.allow文件中被拒绝的 IP 地址甚至不应该显示登录屏幕来尝试登录,因此 csf.deny 日志中的条目证明我的 hosts.allow 文件没有做我想要的?
或者,我是否被通用错误消息 ( 5 in the last 300 secs)误导了,因为实际上这些 IP 地址实际上并没有尝试输入用户和密码 5 次?
我的目标是防止未经批准的 IP 地址甚至无法输入用户名和密码。我怎么知道我是否实现了这一目标?
当他们的 IP 实际上被拒绝时,我应该期望 …
我最近安装了 CSF 防火墙并启用了一个新服务器,它接受大约 600req/秒。
它基本上是一个反向代理,我在 pingdom 和 munin 中发现,在特定时间,服务器的响应时间增加了 3 倍。我查看了日志,正是在那个时候,我发现了很多这样的条目:
Feb 27 15:22:09 li235-57 dhclient: DHCPREQUEST of <My IP address> on eth0 to 207.192.68.72 port 67
Feb 27 15:22:09 li235-57 dhclient: send_packet: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
你能帮我理解哪里出了问题,到底发生了什么?我应该在 CSF 或任何指针中更改任何设置以进一步调试吗?
我想让 iptable 规则永久化,所以如果服务器重新启动,我将不必再次添加规则。
特别是我与 nginx 相关的规则是 apache 的反向代理。
iptables -t nat -A PREROUTING -p tcp -s ! 266.266.266.266 --dport 80 -j REDIRECT --to-ports 85
我试过了,iptables-save但要么我没有使用正确的文件,要么对我不起作用。
请注意,我使用服务器的 directadmin 控制面板以及http://configserver.com/cp/csf.html
因此,这些可能会干扰,因为即使没有多次重启服务器,规则也不存在。
我最近在防火墙阻止两台服务器之间的流量方面遇到了一些麻烦,我想检查 iptables 如何处理应用于同一 IP 的多个规则。如果我运行,iptables -L -n | grep 1.2.3.4我会看到这个输出:
ACCEPT all -- 1.2.3.4 0.0.0.0/0
DROP all -- 1.2.3.4 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 1.2.3.4
DROP all -- 0.0.0.0/0 1.2.3.4
Run Code Online (Sandbox Code Playgroud)
iptables 将如何处理这些规则?来自 1.2.3.4 的所有流量都会被丢弃吗?
我在三台服务器和所有服务器上运行 LFD/CSF 从我设置服务器和安装 LFD/CSF 的第一天起就遇到了同样的问题。
我安装了 nginx + php5-fpm + MySQL 并且 lfd.log 文件充满了警告:
Jan 3 00:21:57 pro1646 lfd[31599]: *Suspicious Process* PID:30238 User:www-data Uptime:7300 secs EXE:/usr/sbin/php5-fpm CMD:php-fpm: pool www
Jan 3 03:21:01 pro1646 lfd[833]: *Suspicious Process* PID:1296 User:mysql Uptime:18814003 secs EXE:/usr/sbin/mysqld CMD:/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/$
Jan 3 03:21:01 pro1646 lfd[833]: *Suspicious Process* PID:25999 User:www-data Uptime:7237713 secs EXE:/usr/sbin/nginx CMD:nginx: worker process
Run Code Online (Sandbox Code Playgroud)
我如何摆脱这些警告?我想在我的电子邮件地址中收到重要警告,但这是不可能的,因为电子邮件不停地传来......
谢谢。
我在 cPanel 服务器上安装了 CSF,并且知道我相信我可以取消阻止/etc/csf/csf.conf文件中专门用于传出连接的端口。
看起来这一行只能编辑:
# Allow outgoing TCP ports
TCP_OUT = "20,21,22,25,37,43,53,80,110,113,443,587,873"
Run Code Online (Sandbox Code Playgroud)
但是,我需要为传出连接取消阻止所有端口。有谁知道这是否可能是CSF?他们强迫你手动列出每一个似乎有点奇怪......
我们正在尝试在 centos 6 上设置 openvpn 服务器。
我们已经通过 /etc/hosts.deny 阻止了除白名单中的一对之外的所有 IP 地址,我们对 csf.deny 也做了同样的事情(白名单除外)。
此块似乎正在工作,无法通过 ssh 从非白名单 IP 地址访问机器。
但是,当我们从同一个非白名单 IP(通过 943)访问 openvpn 服务器时,我们可以登录 Web 面板。
除了白名单中的 ips 之外,我们如何阻止来自任何地方的所有流量,包括 openvpn?
考虑到以下事实,使用PubkeyAuthentication如何比使用PasswordAuthentication更安全: