AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-123399

Eric's questions

Martin Hope
Eric
Asked: 2013-02-20 21:57:17 +0800 CST

iptables 阻止 nginx 成为 node.js 的反向代理

  • 1

我的非常严格的 iptables 设置遇到了一些问题。我将 nginx(端口 80)设置为 node.js(端口 8080)前面的反向代理。当 iptables 服务停止时,一切正常。当它重新打开时,我从 nginx 收到代理超时错误。

不起作用的部分是“INCOMING”部分中的“HTTP (node.js)”块;请参阅下面的实际配置文件内容。这非常令人困惑,因为我只介绍了我系统中仅有的两个以太网“适配器”:eth0和lo。这个问题是否与 nginx 既不在 eth0 也不在 lo 上与 node.js 通信这一事实有关?

这是我的 iptables 配置:

# Remove all existing rules
iptables -F


# Set default chain policies
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP



##### BEGIN: INCOMING #####

# HTTP (nginx)
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT


# HTTP (node.js)
iptables -A INPUT -i eth0 -p tcp --dport 8080 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 8080 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -p tcp --dport 8080 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o lo -p tcp --sport 8080 -m state --state ESTABLISHED -j ACCEPT


# Samba
iptables -A INPUT -i eth0 -p tcp --source 10.1.1.0/24 --dport 445 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --destination 10.1.1.0/24 --sport 445 -m state --state ESTABLISHED -j ACCEPT


# SSH
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

##### END: INCOMING #####





##### BEGIN: OUTGOING #####
# DNS
iptables -A OUTPUT -o eth0 -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT


# E-Mail to Gmail
iptables -A OUTPUT -o eth0 -p tcp --dport 587 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 587 -m state --state ESTABLISHED -j ACCEPT


# HTTP
iptables -A OUTPUT -o eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT


# HTTPS
iptables -A OUTPUT -o eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT


# Ping
iptables -A OUTPUT -o eth0 -p icmp --icmp-type echo-request -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --icmp-type echo-reply -m state --state ESTABLISHED -j ACCEPT

##### END: OUTGOING #####



# Make these rules permanent
service iptables save
service iptables restart
nginx
  • 1 个回答
  • 8234 Views
Martin Hope
Eric
Asked: 2012-08-12 16:22:27 +0800 CST

dnsmasq & Tomato - 消除名称解析对尾随点的需要

  • 5

我意识到主机名后面的尾随点在技术上是“正确的”,但打字很麻烦,而且对于非技术用户来说不直观。很多很多年前,我在我的 Linksys 路由器上安装了 DDWRT,它通过 dnsmasq 解析本地主机名而没有尾随点。但是,刚刚将 Tomato 安装到我的 Asus N66U 上后,始终需要尾随点。比如“ping router”不行,但是“ping router”。做。

假设我的路由器的主机名是“router”,我希望 dnsmasq 允许我键入“ping router”、“ http://router/ ”等,并让它按预期工作。有谁知道如何配置 dnsmasq 这样做?

修改我的 HOSTS 文件是不可接受的,我已经完全关闭了 TCP/IP 上的 NetBIOS(我正在慢慢过渡到仅限 Linux 的网络),因此出于多种原因这不是一个选项。谢谢。

dnsmasq
  • 2 个回答
  • 7130 Views
Martin Hope
Eric
Asked: 2012-06-22 18:06:02 +0800 CST

Samba 服务器 NETBIOS 名称未解析,WINS 支持不起作用

  • 4

当我尝试使用地址\\REPO (REPO 的 NETBIOS 名称)连接到我的CentOS 6.2 x86_64服务器的 samba 共享时,它超时并显示错误;如果我直接通过 IP 这样做,它工作正常。此外,尽管我的 samba 设置正确,但我的服务器无法作为 WINS 服务器正常工作(详情请参见下文)。

如果我停止 iptables 服务,一切正常。

我使用此页面作为使用哪些端口的参考:http: //www.samba.org/samba/docs/server_security.html

具体来说:

UDP/137    - used by nmbd
UDP/138    - used by nmbd
TCP/139    - used by smbd
TCP/445    - used by smbd


我真的真的真的很想保留下面的安全 iptables 设计,但只是解决这个特定问题。

SMB配置文件

[global]
netbios name = REPO
workgroup = AWESOME

security = user
encrypt passwords = yes

# Use the native linux password database
#passdb backend = tdbsam

# Be a WINS server
wins support = yes

# Make this server a master browser
local master = yes
preferred master = yes
os level = 65

# Disable print support
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes

# Restrict who can access the shares
hosts allow = 127.0.0. 10.1.1.




[public]
path = /mnt/repo/public
create mode = 0640
directory mode = 0750
writable = yes
valid users = mangs repoman


IPTables 配置脚本

# Remove all existing rules
iptables -F


# Set default chain policies
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP


# Allow incoming SSH
iptables -A INPUT -i eth0 -p tcp --dport 22222 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22222 -m state --state ESTABLISHED -j ACCEPT


# Allow incoming HTTP
#iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT


# Allow incoming Samba
iptables -A INPUT -i eth0 -p udp --dport 137 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --sport 137 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 138 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p udp --sport 138 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 139 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 139 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 445 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 445 -m state --state ESTABLISHED -j ACCEPT


# Make these rules permanent
service iptables save
service iptables restart**strong text**
samba iptables netbios wins
  • 2 个回答
  • 7034 Views
Martin Hope
Eric
Asked: 2012-06-04 18:17:32 +0800 CST

Samba 的安全 iptables 配置

  • 2

我正在尝试设置一个 iptables 配置,以便仅当它们处于 ESTABLISHED 状态时才允许来自我的 CentOS 6.2 服务器的出站连接。目前,以下设置非常适合 sshd,但由于我无法弄清楚的原因,所有 Samba 规则都被完全忽略了。

用于设置所有规则的 iptables Bash 脚本:

# Remove all existing rules
iptables -F


# Set default chain policies
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP


# Allow incoming SSH
iptables -A INPUT -i eth0 -p tcp --dport 22222 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22222 -m state --state ESTABLISHED -j ACCEPT


# Allow incoming Samba
iptables -A INPUT -i eth0 -s 10.1.1.0/24 -p udp --dport 137:138 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -d 10.1.1.0/24 -p udp --sport 137:138 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -s 10.1.1.0/24 -p tcp --dport 139 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -d 10.1.1.0/24 -p tcp --sport 139 -m state --state ESTABLISHED -j ACCEPT


# Enable these rules
service iptables restart

运行上述脚本后的 iptables 规则列表:

[root@repoman ~]# iptables -L
Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:22222 state NEW,ESTABLISHED

Chain FORWARD (policy DROP)
target     prot opt source               destination

Chain OUTPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:22222 state ESTABLISHED

最终,我试图像对 sshd 所做的那样限制 Samba。此外,我试图将连接限制在以下 IP 地址范围内: 10.1.1.12 - 10.1.1.19

你们能提供一些指示,甚至可能提供一个完整的解决方案吗?我已经广泛阅读了man iptables,所以我不确定为什么 Samba 规则被抛弃了。

此外,删除-s 10.1.1.0/24标志不会改变规则被忽略的事实。

samba iptables centos6
  • 2 个回答
  • 6686 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve