CentOS 是一种广泛使用的 Linux 发行版,常用于服务器环境,在 CentOS 7 中,配置外网访问涉及多个步骤和设置,包括网络配置、防火墙设置、端口转发等,以下是详细的内容:
1、配置静态 IP:
修改网络配置文件/etc/sysconfig/networkscripts/ifcfg<interface>
(例如ifcfgens33
),将BOOTPROTO
设置为static
,并添加相应的 IP 地址、子网掩码和网关信息。
示例如下:
```plaintext
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
IPADDR=192.168.32.128
PREFIX=24
GATEWAY=192.168.32.2
DNS1=114.114.114.114
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stableprivacy
NAME=ens33
UUID=1e3590f10d1345f2b21e5517815ed041
DEVICE=ens33
ONBOOT=yes
```
保存配置文件后,重启网络服务:
```bash
systemctl restart network
```
2、配置 DNS 解析:
编辑/etc/resolv.conf
文件,添加常用的 DNS 服务器地址,例如谷歌的114.114.114.114
或阿里的223.5.5.5
:
```plaintext
nameserver 114.114.114.114
nameserver 223.5.5.5
```
保存文件并重启网络服务。
3、配置防火墙:
如果系统默认使用firewalld
,需要开放相应的端口,要开放 HTTP(80)和 HTTPS(443)端口,可以使用以下命令:
```bash
firewallcmd zone=public addport=80/tcp permanent
firewallcmd zone=public addport=443/tcp permanent
firewallcmd reload
```
检查端口是否成功开放:
```bash
firewallcmd queryport=80/tcp
firewallcmd queryport=443/tcp
```
4、配置端口转发:
使用iptables
实现端口转发,假设要将外部 IP120.25.71.183
的 1522 端口流量转发到内网 IP10.1.1.24
的 80 端口:
```bash
iptables t nat A PREROUTING d 120.25.71.183 p tcp dport 1522 j DNAT todestination 10.1.1.24:80
iptables t nat A POSTROUTING d 10.1.1.24 p tcp dport 80 j SNAT to 10.1.1.23
```
保存规则并重启iptables
服务:
```bash
iptablessave > /etc/sysconfig/iptables
systemctl restart iptables
```
5、测试外网访问:
使用curl
命令测试外网访问:
```bash
curl http://120.25.71.183:1522
```
如果能够正常访问,说明配置成功。
相关问答 FAQs
Q1: 如何在 CentOS 7 上配置静态 IP?
A1: 在 CentOS 7 上配置静态 IP,需要修改网络接口配置文件/etc/sysconfig/networkscripts/ifcfg<interface>
,将BOOTPROTO
设置为static
,并添加相应的 IP 地址、子网掩码和网关信息,保存后重启网络服务即可。
Q2: 如何在 CentOS 7 上开放特定端口?
A2: 在 CentOS 7 上开放特定端口,可以使用firewallcmd
命令,要开放 HTTP(80)和 HTTPS(443)端口,可以执行以下命令:
```bash
firewallcmd zone=public addport=80/tcp permanent
firewallcmd zone=public addport=443/tcp permanent
firewallcmd reload
```
然后使用firewallcmd queryport=80/tcp
和firewallcmd queryport=443/tcp
命令检查端口是否成功开放。