Linux中如何开启8080端口供外界访问

装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。于是请教百度大神,在费一番周折后,总结步骤如下:

1.修改文件/etc/sysconfig/iptables

[root@bogon ~]# cd /etc/sysconfig/
[root@bogon sysconfig]# vi iptables

文件内容如下,注意红色一行是新加的,目的是对外界开放8080端口

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

这行文字实际是从上一行拷贝修改而来,在VI中拷贝一行用yy,拷贝多行用yyn,粘贴用p。还算方便的。

2.将iptables服务重启。

[root@bogon sysconfig]# service iptables restart
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]
Applying iptables firewall rules:                          [  OK  ]
Loading additional iptables modules: ip_conntrack_ftp      [  OK  ]
[root@bogon sysconfig]#

然后从外界访问就可以了:

 

发布一个war上去看看效果

3.如若不想修改iptables表,可以直接输入下面命令:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

以上有问题请指出。

### 如何通过外网远程连接到运行在Linux上的虚拟机 为了实现从外部网络访问位于 Linux 系统中的虚拟机,需考虑几个方面:确保主机和虚拟机均具备可被外界访问的 IP 地址;配置防火墙允许必要的端口通信;设置 SSH 服务以便安全登录。 #### 配置网络环境 对于虚拟机而言,其网络模式的选择至关重要。如果选择了仅限于宿主机内部可见的方式(如同引用中提到的本地模式[^1]),那么该虚拟机将无法直接与互联网或其他物理设备建立联系。建议采用桥接模式或 NAT 模式的端口转发功能来使虚拟机能获取独立于宿主机之外的有效公网/私有局域网IP地址,从而能够接收到来自广域网的数据包并作出响应。 #### 安装SSH Server 考虑到目标操作系统可能是基于 Debian 的发行版,在此情况下应执行如下命令以安装 OpenSSH 服务器组件: ```bash sudo apt-get update && sudo apt-get install openssh-server -y ``` 而对于 RedHat 或 Fedora 类型,则适用另一套指令集[^3]: ```bash sudo yum install openssh-server ``` 完成上述操作之后,还需确认 sshd 服务已启动并且设为开机自动加载状态。 #### 开放防火墙端口 无论是哪种类型的 Linux 发行版本,默认的安全策略可能会阻止未经许可的入站流量。因此需要调整 iptables 或 firewalld 设置,开放用于 SSH 协议传输数据所必需使用的 TCP 22 号端口。具体做法取决于当前系统的默认防护机制是什么样的形式存在。 针对使用 `iptables` 的情况: ```bash sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT sudo service iptables save ``` 而当面对启用了 `firewalld` 的情形下则可以这样做: ```bash sudo firewall-cmd --zone=public --add-service=ssh --permanent sudo firewall-cmd --reload ``` #### 实现端口映射(适用于NAT模式) 假设虚拟机处于 NAT 模式工作状态下,此时还需要额外进行一步——即让路由器知道怎样把特定目的端口号对应至某台指定计算机及其监听的服务程序之上。这通常涉及到家庭宽带调制解调器或者企业级交换路由装置上的静态端口映射规则设定过程。简单来说就是告诉上游网关:“凡是收到发往我家公共 IPv4/v6 地址且目的地端口等于 N 的请求,请转交给内网里具有 MAC 地址 M 的机器处理”。 #### 测试连通性 最后一步是要验证整个链路是否畅通无阻。可以通过 ping 命令测试基本可达性,接着尝试利用像 PuTTY、Xshell 或者 FinalShell 这类图形界面客户发起实际的身份认证流程,成功登陆后便证明一切正常运作了[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值