标签 linux 下的文章

一、使用iptables -L 命令查看当前配置的规则。有时会在端口处显示服务名称,如果想要查看具体数字。可以使用
iptables -L -n
二、iptables可以在五个位置进行处理,分别为:

1.PREROUTING (路由前)
2.INPUT (入口)
3.FORWARD (转发)
4.OUTPUT(出口)
5.POSTROUTING(路由后)

简单使用的话基本只需要操作input和output。

三、iptables默认规则是允许,可以在配置中以下处修改。

   iptables -P INPUT ACCEPT
   iptables -P OUTPUT ACCEPT
   iptables -P FORWARD ACCEPT

四、iptables常见的ACTION有三种。
DROP:丢弃
REJECT:拒绝
ACCEPT:接受

drop和reject的区别在于reject会有被拒绝的返回。

五、iptables的配置文件位置在/etc/sysconfig/iptables
直接在命令行使用-A命令添加的规则虽然可以使用-L命令查看到,也会生效。但是在重启iptables命令后就会失效。
解决的办法是使用service iptables save保存,或者直接在配置文件中修改相关规则,然后重启iptables服务。

六、为了出现自己连不上自己的情况,建议把127的豁免提前添加到规则中。

 iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
 iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

七、使用示例。

-A INPUT  -p tcp -s 127.0.0.1/32 --dport 18443 -j ACCEPT
-A INPUT  -p tcp -s 173.16.168.0/24 --dport 18443 -j ACCEPT
-A INPUT -p tcp --dport 18443 -j DROP

以上为禁止173.16.168.*网段以外的机器访问18443端口。

-p:使用协议
-s:来源
-d:目的地(示例中未出现)
--dport:目标端口
-j:处理方式。

八、使用service iptables start命令时报

Failed to start iptables.service: Unit not found.

去以下下载iptables-services的rpm包进行安装。
http://mirrors.163.com/centos/7/os/x86_64/Packages/

在下述网站下载最新版本。此处为5.34

https://www.cpan.org/src/

将tar包上传至服务器任意目录,运行以下命令,需要gcc环境

tar -xzf perl-5.34.0.tar.gz
cd perl-5.34.0
./Configure -des -Dprefix=$HOME/localperl
make
make test
make install

安装完成后设置软连接,在/root下运行上述命令后默认安装目录为/root/localperl。请根据实际情况进行修改。

ln -s /root/localperl/bin/perl /usr/bin/perl 

若提示/usr/bin/perl已经存在文件,可使用下述命令将其移走。

mv /usr/bin/perl /usr/bin/perl.bak

安装完成后使用以下命令验证

perl -v


前往下述链接下载最新版本,编写本文时为1.9.7

https://www.sudo.ws/

将文件传至服务器任意目录。运行以下命令。必须已经安装gcc。

tar -zxvf sudo-1.9.7.tar.gz
cd sudo-1.9.7
./configure --prefix=/usr  --libexecdir=/usr/lib  --with-secure-path  --with-all-insults  --with-env-editor  --docdir=/usr/share/doc/sudo-1.9.2 --with-passprompt="[sudo] password for %p: " 
make
make install
ln -sfv libsudo_util.so.0.0.0 /usr/lib/sudo/libsudo_util.so.0

使用以下命令验证

sudo --version

从下述网址处获取bash4.4安装包。
http://ftp.gnu.org/gnu/bash/bash-4.4.18.tar.gz
上传至服务器任意目录下执行以下命令。必须已经安装gcc。

tar xf bash-4.4.18.tar.gz
cd bash-4.4.18/
./configure
make
make install
mv /bin/bash /bin/bash.bak && ln -s /usr/local/bin/bash /bin/bash

断开ssh后重新连接即生效

验证

bash -version

ps.该方法理论上也能用在bash5.0上。

1、前往任意库下载如图gcc依赖,此处使用的是阿里的库。
GCC依赖

http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/

下载完成后将十一个文件一起传输至服务器任意目录,此处为/root/gcc,在对应目录下执行以下命令。

rpm -ivh *.rpm --force

运行完使用

gcc -v

验证。