我有一个 Palm Pre,我在上面安装了网络服务器,它侦听端口 8080。当我在 Pre 的浏览器上打开 192.168.1.104:8080(这是设备的 IP 地址,我失败了)时,它可以工作使用 localhost 或 127.0.0.1),它显示图像,一切正常。
但我无法从外部访问网络服务器,例如从我的台式机,它显示超时。 Pre 上是否有防火墙,或者出了什么问题?如有必要,我可以更改服务器的端口号。我没有配置Pre,只是安装了SSH。另外,我可以通过 SSH 访问 Pre,并从 Pre 访问我的桌面。
更新:
如果配置说:
eth0 Link encap:Ethernet HWaddr 00:1D:FE:B5:99:51
inet addr:192.168.1.104 Bcast:192.168.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:486 errors:0 dropped:0 overruns:0 frame:0
TX packets:284 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:69398 (67.7 KiB) TX bytes:40051 (39.1 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:1248 errors:0 dropped:0 overruns:0 frame:0
TX packets:1248 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:128070 (125.0 KiB) TX bytes:128070 (125.0 KiB)
iptables-nvL说:
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
370 29404 ACCEPT tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
1248 128K ALLOWED_PACKETS all -- lo * 0.0.0.0/0 0.0.0.0/0
0 0 INVALID_PACKETS all -- !lo * 127.0.0.0/8 0.0.0.0/0
0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:113 flags:0x17/0x02 state NEW reject-with tcp-reset
0 0 DROP tcp -- bridge0 * 0.0.0.0/0 0.0.0.0/0 tcp dpts:4444:4445
47 28580 ALLOWED_PACKETS all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
0 0 ALLOWED_PACKETS all -- bridge0 * 0.0.0.0/0 0.0.0.0/0
0 0 ALLOWED_PACKETS all -- usb0 * 0.0.0.0/0 0.0.0.0/0
0 0 ALLOWED_PACKETS icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 0 state NEW
0 0 ALLOWED_PACKETS icmp -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 1/sec burst 5 icmp type 0
0 0 ALLOWED_PACKETS icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 3 state NEW
0 0 ALLOWED_PACKETS icmp -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 1/sec burst 5 icmp type 3
0 0 ALLOWED_PACKETS icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 4 state NEW
0 0 ALLOWED_PACKETS icmp -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 1/sec burst 5 icmp type 4
0 0 ALLOWED_PACKETS icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 5 state NEW
0 0 ALLOWED_PACKETS icmp -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 1/sec burst 5 icmp type 5
3 252 ICMPFLOOD icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 8 state NEW
0 0 ALLOWED_PACKETS icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 11 state NEW
0 0 ALLOWED_PACKETS icmp -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 1/sec burst 5 icmp type 11
0 0 ALLOWED_PACKETS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5353
0 0 ALLOWED_PACKETS udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:5353
0 0 ALLOWED_PACKETS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3689
0 0 ALLOWED_PACKETS udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:3689
0 0 ALLOWED_PACKETS tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:0x04/0x04
36 4604 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 3/sec burst 5 LOG flags 0 level 7 prefix `IPT_PACKET_DROPPED_NO_MATCH: '
36 4604 QUEUE all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 INVALID_PACKETS all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
Chain OUTPUT (policy ACCEPT 1541 packets, 166K bytes)
pkts bytes target prot opt in out source destination
Chain ALLOWED_PACKETS (20 references)
pkts bytes target prot opt in out source destination
1298 157K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0
Chain ICMPFLOOD (1 references)
pkts bytes target prot opt in out source destination
3 252 all -- * * 0.0.0.0/0 0.0.0.0/0 recent: SET name: ICMP side: source
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 recent: UPDATE seconds: 1 hit_count: 6 TTL-Match name: ICMP side: source limit: avg 1/sec burst 1 LOG flags 0 level 4 prefix `IPT_ICMPFLOOD: '
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 recent: UPDATE seconds: 1 hit_count: 6 TTL-Match name: ICMP side: source
3 252 ALLOWED_PACKETS all -- * * 0.0.0.0/0 0.0.0.0/0
Chain INVALID_PACKETS (2 references)
pkts bytes target prot opt in out source destination
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 limit: avg 1/sec burst 100 LOG flags 0 level 4 prefix `IPT_INVALID_PACKETS_DROPPED: '
0 0 DROP all -- * * 0.0.0.0/0 0.0.0.0/0
我认为 TCP 端口 8080 或任何我想要的端口都应该被接受,就像 22 (SSH) 端口一样。
答案1
目前,除非明确允许(这就是policy DROP
意思),否则传入流量将被阻止。有一些规则允许“合法”流量,例如第一条规则允许传入 ssh 连接(tcp dpt:22
意味着到端口 22 的 TCP 流量,即 ssh 端口)。
启用 Web 服务器的手动方法是添加一条 iptables 规则,允许传入流量到达该端口。假设您想打开端口 80。您可以使用以下命令来打开它:
iptables -I INPUT 24 -p tcp --dport 80 -j ALLOWED_PACKETS
(请注意,我遵循端口 3689 和 5353 的模型,它们允许进行速率控制等操作。Ssh 是经过特殊处理的,我想是为了降低配置错误导致无法访问的风险。)
可能有一种规范的方法可以在启动时应用您的设置。谷歌搜索建议一旦您有了满意的设置,您就可以将其永久化
iptables-save >/etc/pmnetconfig/iptables-common.config
我不了解WebOS,所以无法确认该文件的位置。
在你的实验过程中,如果你搞砸了,你可以用 删除特定的规则(例如第 42 条)iptables -D INPUT 42
。假设上面的位置正确,您可以使用以下命令恢复启动时间设置
iptables-restore </etc/pmnetconfig/iptables-common.config