Linux服务器搭建实战详解的目录
第1章 Linux系统概述 1
11 Linux的发展 1
12 Linux常见版本 2
121 Red Hat Linux 2
122 Debian Linux 2
123 Ubuntu Linux 3
13 Linux操作系统 3
131 Linux操作系统结构 3
132 Linux操作系统特点 5
133 Linux操作系统的应用领域 6
134 Red Hat Enterprise Linux 5 7
14 Red Hat Enterprise Linux 5的两个版本 8
15 安装和管理Red Hat Enterprise Linux 8
151 安装前的准备 8
152 与其他操作系统并存的问题 10
153 Red Hat Enterprise Linux的安装阶段 11
16 Linux操作系统的引导与登录 19
161 多系统引导管理器——GRUB及LILO 19
162 Linux的启动过程 20
163 Linux的关闭与重新引导 20
164 Linux系统的登录和退出 20
17 GNOME和KDE桌面管理器 22
171 GNOME桌面环境 23
172 KDE桌面环境 31
173 定制自己的桌面 42
第2章 FTP服务器 45
21 FTP服务简介 45
211 FTP工作原理 45
212 匿名用户访问的产生 46
213 FTP服务的连接模式 46
214 几种流行的FTP服务器软件 48
22 安装vsFTPd服务 49
221 安装vsFTPd软件 49
222 FTP服务的启动与关闭 50
23 vsFTPd的相关配置 52
231 配置匿名用户登录环境 53
232 监听地址与控制端口 53
233 FTP模式与数据端口 54
234 ASCII模式 55
235 超时选项 55
236 负载控制 55
237 用户设置 56
238 用户登录控制 57
239 目录访问控制 57
2310 文件操作控制 58
2311 新增文件权限设置 58
2312 日志设置 58
24 安装与配置PureFTPD服务器的 59
241 安装Apache服务 59
242 安装MySQL数据库 61
243 安装PureFTPD 62
244 生成PureFTPD服务管理脚本 64
245 配置匿名用户登录环境 64
246 安装Zend Optimizer 65
247 WebPureFTP的安装与配置 66
248 生成MySQL数据库 67
249 生成pure-ftpd数据库配置文件 68
2410 使用webpureftp管理虚拟用户 68
25 FTP服务器的访问 69
251 Linux环境下访问FTP服务器 69
252 Windows环境下访问FTP服务器 70
第3章 电子邮件服务器 71
31 电子邮件服务概述 71
311 电子邮件服务简介 71
312 邮件专有名词解释 72
313 POP3与SMTP协议 73
32 Postfix邮件服务器 74
321 安装Postfix邮件服务器 74
322 Postfix配置文件 76
323 Postfix基本配置 77
324 虚拟别名域 80
325 用户别名 80
326 SMTP认证 81
327 启动和停止Postfix服务 83
328 配置与访问电子邮件客户端 84
33 POP和IMAP邮件服务 87
331 dovecot服务 87
332 CyrusImapd服务 88
34 Web支持电子邮件 92
341 Squirrelmail的安装与配置 92
342 登录Squirrelmail 94
第4章 Web服务器 95
41 Web概述 95
411 Web服务简介 95
412 HTTP协议简介 96
413 Web服务器软件 99
42 Apache概述 99
421 Apache的诞生 100
422 安装Apache服务 101
43 启动与停止Apache服务 103
44 Apache服务的基本配置方法 106
441 httpdconf配置文件 106
442 Apache服务主配置文件的构成 107
45 Apache服务器控制存取的方式 112
451 Options选项 113
452 浏览权限的设置 113
46 Apache服务的高级配置 116
461 虚拟目录简介 116
462 配置与管理虚拟主机 117
463 用户认证和授权 119
464 配置SSI 123
465 MIME类型简介 124
47 创建并配置动态网站 124
471 创建并配置JSP动态网站 124
472 创建并配置CGI动态网站 131
第5章 DHCP服务器 133
51 DHCP服务概述 133
511 DHCP服务的实现原理 133
512 IP地址租约和更新 134
513 DHCP服务器分配的IP地址类型 135
52 安装DHCP服务 137
521 做好DHCP服务器安装前的准备 137
522 安装DHCP服务的方法 138
523 启动及停止DHCP服务 141
53 配置DHCP服务 142
531 DHCP配置文件及格式 142
532 配置IP作用域 145
533 配置客户机的IP 选项 146
534 设置租约期限 147
535 保留特定的IP地址 147
536 多网段的IP地址的分配 148
537 DHCP服务器配置实例 149
54 配置DHCP客户机 150
541 以Linux操作系统作为客户端配置 150
542 以Windows操作系统作为客户端配置 152
第6章 DNS服务器 155
61 DNS服务概述 155
611 DNS服务简介 155
612 DNS提供的服务 156
613 DNS查询原理和规划 156
614 DNS域名解析 158
62 DNS服务的安装 158
621 安装DNS服务 159
622 安装Chroot软件包 159
623 DNS服务的启动与停止 160
63 配置主要名称服务器 161
631 主配置文件 161
632 设置根区域和主区域 162
633 设置反向解析区域 165
634 根服务器信息文件 166
635 区域文件 166
636 反向解析区域文件 169
637 功能实现 170
638 测试DNS服务器 170
64 配置辅助DNS服务器 174
65 配置缓存Cache-only服务器 175
66 DNS客户端的配置 176
661 在Linux下配置DNS客户端 176
662 在Windows下配置DNS客户端 177
第7章 代理服务器 179
71 代理服务器概述 179
711 代理服务器的工作流程 179
712 代理服务器的作用及相关应用 180
72 安装Squid Server 181
721 Squid简介 181
722 Squid Server的安装 182
73 Squid Server的基本配置 184
731 设置监听的IP和端口 184
732 设置缓存大小 184
733 访问控制设置 186
734 指定Squid可以使用内存的理想值 188
735 其他参数设置 188
736 设置错误提示为中文 189
737 初始化Squid Server 189
74 启动与停止代理服务器 192
741 设置Squid服务随系统的启动而自动启动 193
742 重新载入配置文件 195
75 Squid Server高级配置 195
751 实现透明代理 195
752 Squid安全设置 197
753 Squid外部程序支持选项 199
76 Squid日志管理 199
761 日志选项 199
762 Squid代理服务器日志系统的构成 199
763 日志及流量分析软件——Webalizer 200
764 Webalizer软件的应用 204
77 不同环境下的代理客户端的配置 205
771 Linux系统下Firefox代理设置 205
772 Windows系统下IE代理配置 207
第8章 Samba服务器 209
81 Samba服务概述 209
811 Samba服务简介 209
812 Samba服务的安装 209
813 Samba服务的图形化配置方法 212
814 启动、停止和重启Samba服务 216
82 Samba服务的配置文件 216
821 Samba服务的主要配置文件 217
822 Samba服务的密码文件 217
823 Samba服务的日志文件 218
83 smbconf文件详解 218
831 smbconf文件结构 219
832 smbconf文件的语法和变量 220
833 smbconf文件详解 220
834 smbconf文件中的段 223
835 Samba服务具体参数设置 223
84 Samba服务功能实现 225
841 指定Samba所要加入的工作组 225
842 注释说明服务器 226
843 限制可访问服务器IP地址的范围 226
844 打印机设置 227
845 设置guest账号匿名登录 228
846 设置日志文件名、存放路径及大小 228
847 服务器安全设置 229
848 具体的共享设置 232
85 共享的资源访问 234
851 不同客户端主机的资源访问 234
852 本机Windows分区和Linux分区的资源互访 235
第9章 NFS服务器 237
91 NFS服务简介 237
911 使用NFS的优势 237
912 NFS服务的组件 238
92 RPC简介 238
93 安装并配置NFS服务 239
931 安装NFS服务 239
932 配置NFS服务 240
933 NFS文件的存取权限 242
94 启动与停止NFS服务 243
95 在客户端挂载NFS文件系统 244
951 查看NFS服务器信息 244
952 加载NFS服务器共享目录 245
953 自动挂接NFS文件系统 246
第10章 LDAP目录服务 247
101 目录服务概述 247
1011 X500简介 247
1012 初识LDAP 248
1013 X500与LDAP 251
1014 流行的目录服务产品 252
102 深入认识LDAP 254
1021 LDAP的几种基本模型 254
1022 如何规划目录树 256
1023 LDAP的应用领域 257
103 安装LDAP 257
1031 安装Berkeley DB 257
1032 安装OpenLDAP 260
104 配置OpenLDAP 261
1041 OpenLDAP的基本配置 261
1042 启动OpenLDAP服务器 262
105 为OpenLDAP建立初始化数据 263
106 LDAP图形界面管理工具简介 264
1061 主要的LDAP图形界面管理工具 264
1062 安装phpLDAPadmin 266
107 配置phpLDAPadmin 268
1071 生成phpLDAPadmin主配置文件 268
1072 phpLDAPadmin的基本配置 268
108 使用OpenLDAPadmin管理目录树 271
1081 进入phpLDAPadmin 271
1082 创建组织单元 272
1083 创建用户组 274
1084 创建用户账号 276
109 实现LDAP服务的身份验证 277
1091 实现Linux系统用户验证 277
1092 实现FTP用户验证 279
1093 实现Web用户验证 280
第11章 SSH服务器 281
111 SSH服务概述 281
1111 SSH服务简介 281
1112 公钥加密体系结构 282
112 SSH服务的安装 283
113 配置SSH服务器 283
114 SSH服务的启动和停止 286
1141 启动SSH服务 286
1142 重启SSH服务 287
1143 自动启动SSH服务 287
1144 停止SSH服务 288
115 使用SSH客户端 288
1151 SSH客户端在Windows平台下的使用 288
1152 SSH客户端在Linux平台下的使用 289
第12章 MySQL数据库的配置 293
121 MySQL概述 293
1211 MySQL简介 293
1212 MySQL的应用领域 294
122 安装MySQL 295
1221 安装前的准备 295
1222 MySQL的具体安装过程 295
123 启动与停止MySQLD服务 298
124 配置及使用MySQL服务 298
1241 修改MySQL管理员的口令 299
1242 MySQL数据库的创建和使用 299
1243 MySQL数据表的创建和使用 300
1244 索引的创建和删除 304
1245 用户的创建和删除 305
1246 用户权限的设置 306
125 图形化配置MySQL 309
1251 安装phpMyAdmin 309
1252 配置phpMyAdmin虚拟目录 310
1253 使用phpMyAdmin 311
第13章 使用Webmin配置各种服务 313
131 Webmin的概述 313
1311 Webmin简介 313
1312 Webmin特性 313
1313 Webmin主要功能 314
132 安装和配置Webmin 317
1321 Perl语言解释器的安装 318
1322 Net-SSLeay perl和OpenSSL的安装 318
1323 安装与访问Webmin 319
1324 设置Webmin为中文界面 321
1325 停止和启动Webmin服务 322
133 用Webmin配置服务 323
1331 Samba服务的配置 323
1332 NFS服务的配置 327
1333 DNS服务的配置 328
1334 Web服务的配置 331
1335 网络防火墙与NAT服务配置 336
1336 代理服务配置 342
1337 SSH服务的配置 349
第14章 Linux命令行 351
141 Linux Shell概述 351
1411 Linux Shell简介 351
1412 系统默认Shell——Bash Shell 351
1413 设置使用其他Shell 352
142 启动Shell 353
1421 终端启动Shell 353
1422 直接启用Shell 354
1423 直接启动命令行窗口 354
143 Shell指令详解 355
1431 目录及文件管理指令 355
1432 信息显示指令 360
1433 网络基本配置指令 363
1434 关机和注销指令 366
144 配置Shell环境 367
1441 Shell环境变量 367
1442 环境变量设置 369
1443 Shell环境配置文件 370
145 使用vim文本编辑器 371
1451 vim编辑器简介 371
1452 常用vim指令 372
1453 vim的定制 376
第15章 Linux操作系统中的 网络连通性测试 377
151 网络线路的连通性测试 377
1511 双绞线的线芯 377
1512 测试直通双绞线 378
1513 测试交叉双绞线 378
1514 利用ping命令测试网络连通性 379
152 路由跟踪 382
1521 traceroute命令 382
1522 traceroute显示代码 383
1523 traceroute命令选项的应用 384
153 Linux图形界面下测试网络 386
1531 进入“Network Tools”窗口 386
1532 网络设备查询 387
1533 网络连通性测试 387
1534 网络信息统计 388
1535 网络路由跟踪 388
1536 网络端口扫描 389
1537 网络查阅 389
1538 查询登录用户的信息 390
1539 域名查询工具 390
第16章 Linux网络管理 391
161 静态IP地址管理工具 391
1611 IP地址 391
1612 子网掩码 392
1613 TCP/IP配置文件 392
1614 在图形界面下配置以太网络 392
1615 在命令模式下配置以太网 397
162 动态IP地址分配工具 400
1621 获取动态IP地址 400
1622 安装DHCP服务 401
1623 DHCP服务的启动与停止 404
1624 DHCP服务的配置 405
163 网络地址表管理工具 407
1631 显示ARP缓存 407
1632 管理ARP缓存 408
第17章 软件基础管理 409
171 Kickstart简介 409
1711 安装Kickstart 409
1712 Debian/Ubuntu的自动化安装 419
172 Linux操作系统中的软件包管理 420
1721 RPM简介 420
1722 RPM软件包管理系统的应用 423
173 Debian的软件包管理系统 434
1731 DPKG简介 434
1732 DPKG软件包管理系统应用 435
第18章 软件包高级管理 441
181 APT——高级软件包管理 441
1811 APT概述 441
1812 应用APT软件包管理系统 442
182 YUM——智能化的RPM软件包管理 452
1821 YUM概述 452
1822 应用YUM软件包管理系统 453
183 Linux内核的升级 462
1831 获取内核源代码 463
1832 配置内核 464
1833 编译内核 467
1834 安装内核 469
第19章 用户和进程管理 471
191 用户管理 471
1911 用户账号文件 471
1912 用户群组文件 474
1913 命令行方式的用户管理 476
1914 图形界面方式的用户管理 486
1915 命令行方式的群组管理 486
192 进程管理 490
1921 进程及作业 490
1922 进程控制 490
1923 作业控制 494
第20章 管理Linux文件系统及磁盘 497
201 管理Linux文件系统 497
2011 Linux文件系统结构 497
2012 常见的文件系统 497
2013 文件类型 498
2014 文件压缩与归档 498
2015 文件链接 503
2016 安装文件系统 505
202 磁盘管理 507
2021 硬盘简介 507
2022 管理磁盘分区 509
2023 使用磁盘管理命令 529
2024 磁盘配额管理问题 539
第21章 Linux系统安全 549
211 系统安全基础设置 549
2111 BIOS安全 549
2112 账号安全 549
212 系统安全高级设置 552
2121 重要文件 552
2122 防止攻击系统 553
2123 开启安全服务 555
2124 审计日志 556
2125 文件和目录许可 558
根据你描述的情况,使用mail发邮件是通过本机的postfix来发送的。如果本机的的postfix配置中启用了relay,则会将发信请求转发到relay机器进行投递。如果此时通过mail发不出邮件,则问题有可能出现在relay的服务器上。
你说的通过php是可以发邮件的,这个和使用mail是两回事。如果php程序使用的是自己的发信程序,那与本机的postfix可能就没有什么关系。这其中具体的配置还要看程序是怎么设计的。
1、安装ubuntu的时候可选包要选择上openSSH,如果没有选择的话,系统安装完成后手工安装openSSH服务;
2、(挪至第7步)
3、安装java 运行环境,大概需要100M的内容:
sudo apt-get install openjdk-6-jre-headless4、安装邮件服务:
postfixsudo apt-get install postfix注意,安装过程中会提示输入主机名,gemfield此处输入的是 civilnetcn。
5、安装git服务
sudo aptitude install git-core git-doc6、创建gerrit用户:
sudo adduser gerritsudo su gerrit
cd ~
7、下载gerrit包,这次编辑时gerrit的版本是280(最新版本)
8、安装gerrit:
java -jar gerrit-28war init -d review_site9、安装过程中会出现交互式的提问,除非gemfield本文明确指定,否则都是默认值。
10、配置完上面的步骤后,gerrit服务会自动启动。以后可以使用如下命令手工启动:/home/gerrit/review_site/bin/gerritsh start
11、通过如下步骤设置gerrit服务开机自启动:
sudo ln -snf /home/gerrit/review_site/bin/gerritsh /etc/initd/gerritshsduo ln -snf /etc/initd/gerritsh /etc/rc2d/S90gerrit
sduo ln -snf /etc/initd/gerritsh /etc/rc3d/S90gerrit
服务自动启动脚本/etc/initd/gerritsh需要通过/etc/default/gerritcodereview文件来提供一些配置。该文件的内容为:
GERRIT_SITE=/home/gerrit/review_site
NO_START=0
12、配置apache的反向代理:
ProxyRequests OffProxyVia Off
ProxyPreserveHost on
Order deny,allow
Allow from all
ProxyPass /code/ http://civilnetcn:8080/
AuthType Basic
AuthName "CivilNet Code Review"
Require valid-user
AuthUserFile /home/gerrit/review_site/etc/gerritpassword
13、添加http认证用户(eg gemfield):
htpasswd -m /home/gerrit/review_site/etc/gerritpassword gemfieldNew password:
Re-type new password:
14、可以通过浏览器访问 http://civilnetcn/code/ 来使用gerrit了。
15、第一个注册的人就是管理员哦,比如gemfield。
16、现在你也可以去 /home/gerrit/review_site/etc/gerritconfig文件中查看刚才的配置内容了。
我们 来讨论一下如何为你的CentOS 服务器来设置简单的防火墙。 这里我们以DigitalOcean的CentOS 6 VPS为基础来讨论的,同样也适用于 阿里云上其他类型的LINUX系统。 (阿里云有个云盾系统,因此在你自己的VPS上不设置防火墙也是可以的)
需要说明的是: 本文只涉及最基础最常用的防火墙设置,能屏蔽一些常用的攻击,但并不能彻底保证你的服务器的安全。
系统的随时更新 以及 关闭不必要的服务 仍然是保证系统安全非常重要的步骤。
如果你需要更全面的了解iptables,阅读本文后,请google或是阅读更加深入的资料!
首先简单介绍一下什么是IPTables:
iptables是Linux内核中内置的防火墙,可以允许管理员通过设置table, chain以及相关的规则来进行数据包过滤和NAT。 一般来讲,iptables防火墙已经内置于CentOS 6及其他Linux版本中,而且iptables服务默认都是启动的。 iptables应用于IPv4, 如果要用IPv6,需要使用ip6tables
iptables的命令格式:
复制代码
代码如下:
iptables[-ttable]command[chain][rules][-jtarget]
[-ttable]:用来指明使用的表,有三种选项:filter,nat和mangle,如果未指定,则使用filter作为缺省表。事实上,对于单个服务器的防火墙配置,一般来讲,我们只需要对filter表进行配件就OK了。filter表包括INPUT,OUTPUT,和FORWARD三个chain
command表明iptables命名要做什么,比如
-A(–append):该命令会把一条规则附件到chain的末尾。
-D(–delete)用来删除某个规则。
-F(–flush)如果指定了chain,删除该chain中的所有规则,如果未指定chain,则删除所有chain中的所有规则。
target:是由规则指定的操作。包括下面几种:
ACCEPT:接收信息包(允许它前往目的地),并且将停止遍历chain
DROP:拒绝,
此外还有REJECT,RETURN,LOG,REDIRECT,MARK,MIRROR,MAQUERADE等。
具体的iptables的语法和概念就不再多说了,请参照iptablesmanpage官方文档
简单来说,iptables防火墙是由一系列的规则(rule)组成,一个数据请求进来,会依次和这些规则进行比较,如果正好符合规则的定义,那这个数据请求要么会被接收ACCEPT,要么被拒绝DRIP。如果不符合任何规则的定义,最后缺省的规则会被应用。
开始操作之前:
注意:一定要把你在DigitalOcean/Linode/阿里云上的服务器做一下快照备份,否则一旦你iptables的配置出了问题,极有可能把你自己挡在门外,你自己都无法连接到服务器了!!出现这种情况可是会欲哭无泪呀,除了重新做系统好像没有更好的办法了。(DigitalOcean提供了一个webconsole的界面,有时候会给你反悔和擦除iptables设置的机会,但阿里云没有)
决定哪些端口需要开放
首先,SSH的端口22自然是需要开放的,否则我们就无法登录服务器了。
一般来讲,CentOS的VPS经常作为用LAMP搭建的Web服务器,FTP服务器,Mail服务器等。
对于Web服务来说,需要开放80端口,如果是HTTPS/SSL协议的话,还需用开放443端口
对于Mail服务来说,由于涉及SMTP,POP3,IMAP协议,需要开放的端口如下:
SMTP:25SecureSMTP:465POP3:110SecurePOP3:995IMAP:143IMAPoverSSL:993
对于FTP服务来说,需要开放20,21两个端口
第一步:屏蔽最常见的攻击
缺省情况下,CentOS的iptables的设置是允许任何数据通过的。
我们首先要清空iptables中的所有的规则:
复制代码
代码如下:
iptables-F
然后我们加上阻止简单扫描和攻击的规则
复制代码
代码如下:
iptables-AINPUT-ptcp--tcp-flagsALLNONE-jDROP#NONE包(所有标识bit都没有设置)主要是扫描类的数据包
iptables-AINPUT-ptcp!--syn-mstate--stateNEW-jDROP#防止sync-flood攻击
iptables-AINPUT-ptcp--tcp-flagsALLALL-jDROP#ALL包(所有的标注bit都被设置了)也是网络扫描的数据包
关于sync-flood,请参照wikipedia的解释。
第二步:为相应的服务开放对应的端口
首先我们应该接受本机localhost的任何请求,否则,数据库连接等将无法工作
1
iptables-AINPUT-ilo-jACCEPT
对于不同的服务需要开放不同的端口
复制代码
代码如下:
iptables-AINPUT-ptcp--dport22-jACCEPT#SSH
iptables-AINPUT-ptcp--dport80-jACCEPT#HTTP
iptables-AINPUT-ptcp--dport443-jACCEPT#HTTPS
iptables-AINPUT-ptcp--dport25-jACCEPT#SMTP
iptables-AINPUT-ptcp--dport465-jACCEPT#SecureSMTP
iptables-AINPUT-ptcp--dport110-jACCEPT#POP3
iptables-AINPUT-ptcp--dport995-jACCEPT#SecurePOP3
iptables-AINPUT-ptcp--dport143-jACCEPT#IMAP
iptables-AINPUT-ptcp--dport993-jACCEPT#SecureIMAP
第三步:加上通用的规则
首先要允许所有从服务器端发起的连接,由此返回的响应数据应该是允许的!比如VPS发起的yumupdate,必须要允许外部的update数据进来
复制代码
代码如下:
iptables-IINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT
最后,设置缺省的策略:屏蔽任何进入的数据请求,允许所有从Server发出的请求
复制代码
代码如下:
iptables-POUTPUTACCEPT/ppiptables-PINPUTDROP
至此,规则设置完毕
第四步:保存设置
首先通过下面的命令查看一下我们的设置是否正确!
复制代码
代码如下:
iptable-L-n
确认没有问题后,执行下面的命令
复制代码
代码如下:
serviceiptablessave
执行上述命令后,相应的规则会写入/etc/sysconfig/iptables这个文件,你可以检查一下看看。
最后执行
复制代码
代码如下:
serviceiptablesrestart
重新启动iptables防火墙,以使上述设置生效。
最佳的方法:
为了更方便的修改和维护自己的iptables的设置,我一般是把所有的iptables的设置先写到一个单独文件中,测试没有问题后。然后再保存到iptable的配置文件中。
下面是我自己的iptables文件~/script/firewallsh
复制代码
代码如下:
#!/bin/bash
#Asimpleiptablesfirewallconfiguration/ppPATH=/sbin:/bin:/usr/sbin:/usr/bin;exportPATH/pp#flush/eraseoriginalrules
iptables-F#清除所有已制定的rule
iptables-X#清除用户自定义的chain/table
iptables-Z#将所有的chain的计数和流量统计归零/pp#Acceptlocalhostconnetting,nomatterwhatitis
iptables-AINPUT-ilo-jACCEPT/pp#Acceptanyresponsepackagewhichisinitiatedfrominside
iptables-AINPUT-mstate--stateESTABLISHED,RELATED-jACCEPT/pp#blockmostcommonnetworkattacks(reconpacketsandsyn-floodattack)
iptables-AINPUT-ptcp--tcp-flagsALLNONE-jDROP
iptables-AINPUT-ptcp!--syn-mstate--stateNEW-jDROP
iptables-AINPUT-ptcp--tcp-flagsALLALL-jDROP/pp#openportsfordifferentservices
iptables-AINPUT-ptcp--dport22-jACCEPT#SSH
iptables-AINPUT-ptcp--dport80-jACCEPT#HTTP
#iptables-AINPUT-ptcp--dport443-jACCEPT#HTTPS
#iptables-AINPUT-ptcp--dport25-jACCEPT#SMTP
#iptables-AINPUT-ptcp--dport465-jACCEPT#SecureSMTP
#iptables-AINPUT-ptcp--dport110-jACCEPT#POP3
#iptables-AINPUT-ptcp--dport995-jACCEPT#SecurePOP/pp#ICMPconfiguration
#TopreventICMPDDOS,wedonotallowICMPtype8(echo-request)orlimitthisrequestwith1/second
#someICMPrequestsareallowed
icmp_type="0341112141618"
forticmpin$icmp_type
do
iptables-AINPUT-picmp--icmp-type$ticmp-jACCEPT
done
#iptables-AINPUT-picmp--icmp-type8-mlimit--limit1/second-jACCEPT/pp#defaultpolicies
iptables-POUTPUTACCEPT
iptables-PINPUTDROP/pp#saveto/etc/sysconfig/iptables
/etc/initd/iptablessave
你可以根据你的需要进行相应的修改。
1、使用telnet连接smtp服务器
2、发送一个helo或者ehlo指令
3、验证用户(使用邮件名登陆)
4、使用mail命令准备发送邮件
5、使用rcpt命令指定对方邮箱地址
6、使用data命令开始输入内容
7、输入test或者hello world类似字样(即邮件内容)
8、输入邮件内容结束标志
9、退出smtp服务器
你只是发邮件不是做邮件服务器吧?这样的话 在linux和window没有区别不然java都不好意思说自己是跨平台的了
JAVA邮件发送的大致过程是这样的的:
1、构建一个继承自javaxmailAuthenticator的具体类,并重写里面的getPasswordAuthentication()方法。此类是用作登录校验的,以确保你对该邮箱有发送邮件的权利。
2、构建一个properties文件,该文件中存放SMTP服务器地址等参数。
3、通过构建的properties文件和javaxmailAuthenticator具体类来创建一个javaxmailSession。Session的创建,就相当于登录邮箱一样。剩下的自然就是新建邮件。
4、构建邮件内容,一般是javaxmailinternetMimeMessage对象,并指定发送人,收信人,主题,内容等等。
5、使用javaxmailTransport工具类发送邮件。
参考地址http://wwwcnblogscom/codeplus/archive/2011/10/30/2229391html
0条评论